> 文档中心 > 动画封装函数

动画封装函数

我们如何让一个盒子在页面中动起来呢,这就是轮播图等页面动态效果的基础,其实很容易想到,我们使用 setInterval () 定时器即可,我们习惯将其封装到函数中,让有需要的元素直接调用此函数即可,简化了代码


封装函数:

 document.addEventListener('DOMContentLoaded',function(){     var box=document.querySelector('div');     var btn=document.querySelector('button');     function run(obj,long){  clearInterval(obj.timer)   //排他思想,先清除一次定时器,防止多次点击按钮产生加速的效果  obj.timer=setInterval(function(){      if(obj.offsetLeft>=long){   window.clearInterval(obj.timer);      }else{   obj.style.left=obj.offsetLeft+1+'px';      }  },20)     }     btn.addEventListener('click',function(){   run(box,3000)     }) })

调用时仅需将要执行动画的元素获取过来放入函数参数中,还有目标停止动画的距离即可