<button id = 'btn'>开始运动</button>
<div id = 'box'></div>
<script type="text/javascript">
var btn = document.getElementById('btn');
var box = document.getElementById('box');
var timer = null;
btn.onclick = function(){
move(box,0,10);
}
function move(obj,iTarget,speeds){
var cur = obj.offsetLeft;
var speed = speeds;
if(cur < iTarget){
speed = speeds;
}else{
speed = -speeds;
}
timer = setInterval(function(){
cur = box.offsetLeft;
if(cur == iTarget){
clearInterval(timer);
}else{
//取整地过程对速度进行取整,否则无法到达目标位置。
obj.style.left=obj.offsetLeft+speed+"px";
}
},30);
}
</script>
<div id = 'box'></div>
<script type="text/javascript">
var btn = document.getElementById('btn');
var box = document.getElementById('box');
var timer = null;
btn.onclick = function(){
move(box,0,10);
}
function move(obj,iTarget,speeds){
var cur = obj.offsetLeft;
var speed = speeds;
if(cur < iTarget){
speed = speeds;
}else{
speed = -speeds;
}
timer = setInterval(function(){
cur = box.offsetLeft;
if(cur == iTarget){
clearInterval(timer);
}else{
var speed=(iTarget-obj.offsetLeft)/50;
//缓冲运动的重点是速度 速度=(目标距离-当前距离)/数字
speed=speed>0?Math.ceil(speed):Math.floor(speed);//取整地过程对速度进行取整,否则无法到达目标位置。
obj.style.left=obj.offsetLeft+speed+"px";
}
},30);
}
</script>