手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS实现匀速运动的代码实例
JS实现匀速运动的代码实例
摘要:效果:思路:利用setInerval()计时器,进行运动。然后关键的一点是在最后停止的时候给它一个填充缝隙的判断。代码:复制代码代码如下:#...

效果:

JS实现匀速运动的代码实例1

思路:

利用setInerval()计时器,进行运动。然后关键的一点是在最后停止的时候给它一个填充缝隙的判断。

代码:

复制代码 代码如下:

<head runat="server">

<title></title>

<style type="text/css">

#div1

{

width: 100px;

height: 100px;

background: #0000FF;

position: absolute;

left: 800px;

top: 100px;

}

#div200

{

width: 1px;

height: 400px;

background: #FF0000;

position: absolute;

left: 200px;

}

#div500

{

width: 1px;

height: 400px;

background: #FF0000;

position: absolute;

left: 500px;

}

</style>

<script type="text/javascript">

function move(end) {

var oDiv = document.getElementById('div1');

var timer = null;

timer = setInterval(function () {

var speed = (end - oDiv.offsetLeft) / 5; //根据终点和offsetLeft取出运动的速度

speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //进位取整,小数位变为整位,

// if (oDiv.offsetLeft <= end) {

// clearInterval(timer);

// }

// else {

// oDiv.style.left = oDiv.offsetLeft + speed + 'px';

// }

if (Math.abs(end - oDiv.offsetLeft) <= speed) { //由于在停止的时候最后会出现小的缝隙,或者说没有完全的到达指定地点,所以要小于它的速度

clearInterval(timer); //当距离小于速度时,让计时器停止

oDiv.style.left = end + 'px'; //在停止后填充缝隙。

}

else {

oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV

}

}, 30)

}

</script>

</head>

<body>

<input type="button" id="btn1" value="到500的位置" />

<input type="button" id="btn2" value="到200的位置" />

<div id="div1">

</div>

<div id="div200">200

</div>

<div id="div500">500

</div>

</body>

【JS实现匀速运动的代码实例】相关文章:

Javascript实现div的toggle效果实例分析

JS实现浏览器菜单命令

jquery实现的判断倒计时是否结束代码

js实现异步循环实现代码

JS实现简洁、全兼容的拖动层实例

鼠标图片振动代码

JavaScript实现的MD5算法完整实例

JS+CSS实现的拖动分页效果实例

必须点击广告才能进入的代码

实现无刷新联动例子汇总

精品推荐
分类导航