主要是将物体的速度由大变小,到达目标位置的时候,停止。
缓冲运动框架:
1.关闭定时器
2.开启定时器
3.速度的计算:速度=(目标位置-物体的位置)/系数
4.速度取整:
5.判断
function startmove(iTarget){
clearInterval(timer);
timer=setInterval(function(){
var speed=(iTarget-oDiv.offsetLeft)/5;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(oDiv.offsetLeft==iTarget){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+speed+'px';
}
},30)
}
例如:
html:
<div id="div1">
<div id="div2"></div>
<div id="div3">分享到</div>
</div>
css:
#div1{ position:absolute;left:-200px; }
#div1 div{width:200px; height:200px; background:red;float:left;}
#div1 #div3{background:blue;color:#fff;width:30px; text-align:center; padding:50px 0; height:auto; margin-top:30px; }
js:
var timer=null;
var oDiv=document.getElementById("div1");
function startmove(iTarget){
clearInterval(timer);
timer=setInterval(function(){
var speed=(iTarget-oDiv.offsetLeft)/5;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(oDiv.offsetLeft==iTarget){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+speed+'px';
}
},30)
}
oDiv.οnmοuseοver=function(){
startmove(0);
}
oDiv.οnmοuseοut=function(){
startmove(-200);
}