Javascript实现不同运动效果,最重要的一点,是对speed的处理,当然记还要记得加setTimeout()或setInterval();

以下为速度公式


1.匀速运动

oDiv.style.left=oDiv.offsetLeft+speed+"px";   //speed固定

 

 

2.缓冲运动

var speed=(target-oDiv.offsetLeft)/50;  //速度跟跟两个物体之间的距离成正比

oDiv.style.left=oDiv.offsetLeft+speed+"px";   

 

 

3.左右弹性运动

var speed+=(target-offsetLeft)/50;

oDiv.style.left=oDiv.offsetLeft+speed+"px";   

 

4.有摩擦左右弹性运动

var speed+=(target-offsetLeft)/50;

speed*=0.96 

oDiv.style.left=oDiv.offsetLeft+speed+"px";   

 

5.图片或文字滚动

第一种可以用scroll进行

第二种可以用offset进行

滚动停顿的原理:

可以整除,删除外部setInterval,接着再设置setTimeout多少时间后,重新开启外部setInterval