Javascript缓动动画原理

匀速动画的原理:   盒子本身的位置  +  步长  

  缓动动画的原理:    盒子本身的位置  +  步长 (不断变化的)

  封装代码:

1   function animate(obj,target){  //  第一个参数 动谁   第二个参数  动多少
2          clearInterval(obj.timer);
3          obj.timer = setInterval(function() {
4                // 计算步长   动画的原理    盒子本身的位置  +  步长
5                var step = (target - obj.offsetLeft) / 10;  // 步长
6                step =  step > 0 ? Math.ceil(step) : Math.floor(step);  //  取整步长
7                // obj.style.left = 盒子本身的位置  +  步长
8                obj.style.left = obj.offsetLeft + step + "px";
9                if(obj.offsetLeft == target){
10                    clearInterval(obj.timer);
11                }
12          },30)
13      }

  

原文地址:https://www.cnblogs.com/Abner5/p/5932143.html