封装动画

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)
}
posted @ 2016-10-15 23:45  super汤小米  阅读(117)  评论(0编辑  收藏  举报