码迷,mamicode.com
首页 > 其他好文 > 详细

封装动画

时间:2020-06-07 19:14:31      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:公式   nim   ceil   tin   call   inter   offset   var   int   

 // obj  目标对象  target 目标位置  
 function animate(obj, target, callback) {
     // 清除原先定时器  
     clearInterval(obj.timer);
     obj.timer = setInterval(function() {
         // 步长值写到定时器的里面
         // 把步长改为整数 
         // var step = Math.ceil((target - obj.offsetLeft) / 10);
         var step = step = (target - obj.offsetLeft) / 10;
         step = step > 0 ? Math.ceil(step) : Math.floor(step);

         if (obj.offsetLeft == target) {
             // 停止动画
             clearInterval(obj.timer);
             // 回调函数写到定时器结束里面
             if (callback) {
                 // 调用函数
                 callback();
             }
         }
         // 把步长 改为慢慢变小的值  步长公式 (目标值 - 现在的位置) /10
         obj.style.left = obj.offsetLeft + step + ‘px‘;
     }, 15)
 }

封装动画

标签:公式   nim   ceil   tin   call   inter   offset   var   int   

原文地址:https://www.cnblogs.com/ericblog1992/p/13061553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!