关于弹性运动
var left=0; //用left变量存储赋给obj.style.left的值,以防每次系统都省略小数,所导致最后结果的细微差异 var iSpeed=0; function startMove(obj,iTarget) { clearInterval(obj.timer); obj.timer=setInterval(function(){ iSpeed+=(iTarget-obj.offsetLeft)/5; //速度 iSpeed*=0.7; //考虑阻力 left+=iSpeed; if(Math.abs(iSpeed)<1&&Math.abs(iTarget-obj.offsetLeft)<1) //停止条件 速度和距离绝对值小于1 { clearInterval(obj.timer); obj.style.left=iTarget+"px"; //清楚后,顺便把目标值赋给obj.style.left } else { obj.style.left=left+"px"; } },30); }