简单动画函数:
animate(obj,target,time,callback);
注意:obj
:目标对象,需要加绝对定位target
:目标位置time
:动画间隔时间callback
:回调函数
代码实现:
function animate(obj,callback) {
// 先清除以前的定时器,只保留当前的一个定时器执行
clearInterval(obj.timer);
obj.timer = setInterval(function() {
// 步长值写到定时器的里面,并设置为整数
var step = (target - obj.offsetLeft) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
if (obj.offsetLeft == target) {
clearInterval(obj.timer);
// 回调函数写到定时器结束里面
callback && callback();
}
obj.style.left = obj.offsetLeft + step + 'px';
},time);
}