一、缓冲运动:逐渐变慢
越接近终点,速度越慢
速度=(目标值-当前值)/缩放系数
iSpeed=(iTarget-oDiv.offsetLeft)/8;
1.存在Bug,速度为小数时,小数部分会被舍掉,解决:
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
2.目标值是小数
parseInt(t);
二、匀速运动
当最后一次运动不足以达到目标点时,解决:
if(Math.abs(oDiv.offsetLeft-iTarget)<7)) //7为速度 { clearInterval(timer); oDiv.style.left=iTarget+'px'; }
总结:
缓冲运动:两点重合
匀速运动:距离足够近