缓冲运动-1-[解决1].html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{margin:0;padding:0;}
div{width:100px;height:100px;background:red;position: absolute;left:0;}
span{width:0;height:600px;position:fixed;left:600px;top:0;border-left:1px solid red;}
</style>
</head>
<body>
<input type="button" value="buttons" onclick="startMove(600)"/>
<div></div>
<span></span>
</body>
</html>
<script type="text/javascript">
var timer=null; //定时器需放在函数外面。避免每次调用都开启一个
function startMove(iTarget)
{
var oDiv=document.getElementsByTagName("div")[0];
clearInterval(timer);//移出全部的定时器,攻克了每次点击都开启一个定时器的问题
timer=setInterval(function(){
var Speed=Math.ceil((iTarget-oDiv.offsetLeft)/10);//解决
if(oDiv.offsetLeft>=iTarget){clearInterval(timer);} //已经到达,匀速运动if里面的条件必须为>=
else{oDiv.style.left=oDiv.offsetLeft+Speed+"px"; document.title=oDiv.style.left;}//未到达
},30)
}
</script>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{margin:0;padding:0;}
div{width:100px;height:100px;background:red;position: absolute;left:0;}
span{width:0;height:600px;position:fixed;left:600px;top:0;border-left:1px solid red;}
</style>
</head>
<body>
<input type="button" value="buttons" onclick="startMove(600)"/>
<div></div>
<span></span>
</body>
</html>
<script type="text/javascript">
var timer=null; //定时器需放在函数外面。避免每次调用都开启一个
function startMove(iTarget)
{
var oDiv=document.getElementsByTagName("div")[0];
clearInterval(timer);//移出全部的定时器,攻克了每次点击都开启一个定时器的问题
timer=setInterval(function(){
var Speed=Math.ceil((iTarget-oDiv.offsetLeft)/10);//解决
if(oDiv.offsetLeft>=iTarget){clearInterval(timer);} //已经到达,匀速运动if里面的条件必须为>=
else{oDiv.style.left=oDiv.offsetLeft+Speed+"px"; document.title=oDiv.style.left;}//未到达
},30)
}
</script>