移动任意的元素到任意的位置,封装函数
function animate(element,target){
var timeId= setInterval(function(){
var current=element.offsetLeft;
var step=9;
//判断左右走
step=current>target?-step:step;
/!*if(current>target){
step=-step;
}else{
step=+step;
}
current+=step;
if (Math.abs(target-current)>=Math.abs(step)){
element.style.left=current+"px";
} else{
clearInterval(timeId);
element.style.left=target+"px";
}
},20);
变速的移动任意的元素到任意的位置,封装函数
function animate(element,target){
clearInterval(element.timeId);
element.timeId= setInterval(function(){
var current=element.offsetLeft;
var step=(target-current)/100;
//取整
step=step>0?Math.ceil(step):Math.floor(step);
current+=step;
element.style.left=current+"px";
if (target==current){
clearInterval(element.timeId);
}
//测试代码
console.log("目标位置:"+target+",当前位置:"+current+",每次移动的步数:"+step)
},20);
}