首页 > 代码库 > 封装动画

封装动画

function animate(obj,target){
if(obj.timer){
clearInterval(obj.timer);//保证每次只有一个定时器在执行
}
obj.timer=setInterval(function(){//设置一个自定义属性,不要加var
//先找到当前位置
var leader=obj.offsetLeft;
//设定步长
var step=9;
if(target<leader){//判断步长
step=-step;
}
var instance=Math.abs(target-leader);//当差大于一个步长才会去执行
if(instance>Math.abs(step)){
leader=leader+step;
obj.style.left=leader+"px";//加单位
}else{
clearInterval(obj.timer);
obj.style.left=target+"px";//当小于一个步长时,就直接拿过去
}

},15)
}

封装动画