js 匀速运动到100和到300

时间:2024-07-20 19:03:32
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:100px; height:100px; background:red; position:absolute; left:600px; top:50px;}
#div2 {width:1px; height:300px; background:black; position:absolute; left:300px; top:0}
#div3 {width:1px; height:300px; background:black; position:absolute; left:100px; top:0}
</style>
<script>
var timer=null;
function startMove(iTarget)
{
var oDiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function() {
//var speed=(300-oDiv.offsetLeft)/10;
//speed=Math.ceil(speed); //speed=speed>0?Math.ceil(speed):Math.floor(speed);
var speed=0; if(oDiv.offsetLeft<iTarget)
{
speed=7;
}
else
{
speed=-7;
}
if(Math.abs(iTarget-oDiv.offsetLeft)<=7)
{
clearInterval(timer);
oDiv.style.left=iTarget+'px';
}
else
{
oDiv.style.left=oDiv.offsetLeft+speed+'px';
} //document.title=oDiv.offsetLeft ;
}, 30);
}
</script>
</head> <body>
<input type="button" value="到100" onClick="startMove(100)"/>
<input type="button" value="到300" onClick="startMove(300)"/>
<div id="div1">
</div>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>