码迷,mamicode.com
首页 > Web开发 > 详细

(39)JS运动之缓冲运动

时间:2014-09-20 23:51:19      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   os   使用   ar   2014   div   

基本思路:使用定时器让物体向右运动,在运动的过程中再不是匀速运动,而是先快后慢,即距离越大,速度越快,距离越小,速度越小,可是到达终点的时候,必须注意要使用向上取整函数Math.ceil()和向下取整函数Math.floor();这样才可以正确无误地到达终点,而不是有出入。

<!DOCTYPE HTML>
<!--
	
-->
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#div1{
	width:100px;
	height:100px;
	background:red;
	position:absolute;
	left:0px;//left:600px;
	top:50px;
}
#div2{
	width:1px;
	height:300px;
	background:red;
	position:absolute;
	left:300px;
	top:0px;
	background:black;

}


</style>
 

<script>

function startMove(){

	var oDiv=document.getElementById('div1');
	setInterval(function(){

		var speed=(300-oDiv.offsetLeft)/10;
		speed=speed>0?Math.ceil(speed):Math.floor(speed);//向上取整
		oDiv.style.left=oDiv.offsetLeft+speed+'px';
		document.title=oDiv.offsetLeft+','+speed;
	

	},30);
}

</script>
</head>
<body>
   <input type="button" value="開始运动" onclick="startMove()"/>
   <div id="div1"></div>
   <div id="div2">/<div>

</body>
</html>
效果图:

初始状态,分别从左出发和从右出发:

bubuko.com,布布扣

bubuko.com,布布扣


没取整导致有出入的情况,title表示终点位置和速度大小:

bubuko.com,布布扣

bubuko.com,布布扣

取整没误差情况:

bubuko.com,布布扣

bubuko.com,布布扣



(39)JS运动之缓冲运动

标签:style   blog   http   io   os   使用   ar   2014   div   

原文地址:http://www.cnblogs.com/gcczhongduan/p/3983811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!