加速度运动(加速度不变的加速运动)
function addSpeed(dom){ var a = 5; timer = setInterval(function(){ speed = speed + a; dom.style.left = dom.offsetLeft + speed + ‘px‘; },30) }
弹性运动

当一根弹簧链接小球弹性运动时过程
也就是说当小球距离钉子(目标位置)越远,受到的加速度越大,随着距离不断减小,加速度也不断减小。在实现代码时通过判断物体距离目标点的距离来控制加速度的大小,也就是说我们可以使用a = target - dom.offsetleft;由于此时加速度太大可以除以一个数。
function moveStart(dom, targetPosition) { clearInterval(timer); var speed = 0; var a = 3; timer = setInterval(function () { a = (targetPosition - dom.offsetLeft) / 5; speed = speed + a; speed = speed * 0.8;if (Math.abs(speed) < 1 && Math.abs(targetPosition - dom.offsetLeft) <= 1) { clearInterval(timer); dom.style.left = targetPosition + "px"; } else { dom.style.left = dom.offsetLeft + speed + "px"; } }, 30) }
而在真生的弹性运动中,由于受到摩擦力以及空气阻力,是有速度的能量损耗的。我们让摩擦力作用在速度的身上例如:speed * u;当speed减小到0并且距离目标位置小于1是,停止定时器。
原文:https://www.cnblogs.com/jiaobaba/p/11488334.html