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)}
时间: 2024-08-28 08:53:16