js匀速运动停止条件

匀速运动,怎么让它到达指定位置时停止呢?

原理:

1,物体和目标的差值距离小于等于速度时,即停止

2,接着让物体移动位置等于目标位置

 

示例:匀速运动停止

html部分

<input type="button" value="100米" id="btn1" οnclick="startMove(100);" />
<input type="button" value="300米" id="btn2" οnclick="startMove(300);" />
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>

<style>
#div1 { position:absolute; left:600px; width:100px; height:150px; background:red;}
#div2 { position:absolute; left:300px; height:800px; width:1px; background:black;}
#div3 { position:absolute; left:100px; height:800px; width:1px; background:black;}
</style>

 

js部分:

<script>

var timer = null;

function startMove(iTarget){
	var oDiv = document.getElementById("div1");
	var speed;
	
	clearInterval(timer);	
	timer = setInterval(function(){
		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";
		}
	},30);

}



</script>

  

转载于:https://www.cnblogs.com/huaci/p/3851931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值