手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js实现类似jquery里animate动画效果的方法
js实现类似jquery里animate动画效果的方法
摘要:本文实例讲述了js实现类似jquery里animate动画效果的方法。分享给大家供大家参考。具体分析如下:该实例可实现鼠标移上,先宽度变化,...

本文实例讲述了js实现类似jquery里animate动画效果的方法。分享给大家供大家参考。具体分析如下:

该实例可实现鼠标移上,先宽度变化,再高度变化,最后透明度变化,鼠标移出,再依次变回去的效果。

要点一:

startrun(obj,attr,target,fn) box.onmouseover = function(){ startrun(box,"width",200,function(){ startrun(box,"height",200,function(){ startrun(box,"opacity","100") }); }); }

如上面,函数也可以做为参数使用,就可以达到先执行某个动作,再执行某个动作的效果了。

要点二:

if(cur == target){ clearInterval(obj.timer); if(fn){ fn(); } }

当运动到达目标点,关闭定时器,然后就可以执行新的函数了。

最后,上代码:

<!DOCTYPE html> <html> <head> <meta charset="gb2312" /> <title>无标题文档</title> <style> <!-- body{margin:0; padding:0; font:12px/1.5 arial;} #box{width:100px; height:100px; position:absolute; background:#06c; left:0;filter:alpha(opacity=30); opacity:0.3;} --> </style> <script> <!-- function getstyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; }else{ return getComputedStyle(obj,false)[name]; } } window.onload = function(){ var box = document.getElementById("box"); box.onmouseover = function(){ startrun(box,"width",200,function(){ startrun(box,"height",200,function(){ startrun(box,"opacity","100") }); }); } box.onmouseout = function(){ startrun(box,"height",100,function(){ startrun(box,"width",100,function(){ startrun(box,"opacity","30"); }); }); } } function startrun(obj,attr,target,fn){ clearInterval(obj.timer); obj.timer = setInterval(function(){ var cur = 0; if(attr == "opacity"){ cur = Math.round(parseFloat(getstyle(obj,attr))*100); }else{ cur = parseInt(getstyle(obj,attr)); } var speed = (target-cur)/8; speed = speed>0?Math.ceil(speed):Math.floor(speed); if(cur == target){ clearInterval(obj.timer); if(fn){ fn(); } }else{ if(attr == "opacity"){ obj.style.filter = "alpha(opacity="+(cur+speed)+")"; obj.style.opacity = (cur+speed)/100; }else{ obj.style[attr] = cur + speed + "px"; } } },30) } //--> </script> </head> <body> <div id="box"> </div> </body> </html>

希望本文所述对大家的javascript程序设计有所帮助。

【js实现类似jquery里animate动画效果的方法】相关文章:

js实现鼠标划过给div加透明度的方法

javascript实现图片跟随鼠标移动效果的方法

javascript实现Table排序的方法

js+html5实现canvas绘制简单矩形的方法

JS实现两表格里数据来回转移的方法

javascript实现点击后变换按钮显示文字的方法

js+html5操作sqlite数据库的方法

jQuery实现转动随机数抽奖效果的方法

js实现带按钮的上下滚动效果

jquery.validate使用时遇到的问题

精品推荐
分类导航