<html> <head> <style> div{width:100px;height:100px;position:absolute;background:red;left:0;top:50px;} </style> <script> var timer=null; function startMove() { clearInterval(timer);//开定时器前先关闭定时器。否则会多开几个定时器,div的速度会变快。 var oDiv=document.getElementById('div1'); timer=setInterval(function(){ if(oDiv.offsetLeft>=300) { clearInterval(timer);//关闭timer定时器后会继续运行下面的代码。因此要将oDiv.style.left=oDiv.offsetLeft+10+'px';放到else里,避免clearInterval(timer)之后运行,否则会出现div 10px的向右移动。 //停止定时器是下次不执行了,但是这次还要将函数跑完了。 } else { oDiv.style.left=oDiv.offsetLeft+10+'px'; } },30); } </script> </head> <body> <input type='button' value="开始运动" onclick='startMove()'/> <div id="div1"></div> </body> </html>
js实现定时器及注意的问题
原创
©著作权归作者所有:来自51CTO博客作者jing_bing的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
javascript定时器,取消定时器,及js定时器优化方法
--------------------------------------------------------------》11,只执行一次的定时器 //定时器 异步运行 f
定时器 延时跳转 加载 setInterval setTimeout -
[js] js定时器的清除
每次点击事件前先清除定时器//每次点击事情先清除定时器clearInterval(a)var a=setInterval(function ()
javascript 全局变量 i++ .net -
js 定时器
javascript中防止重复点击、防止点击过快实用方法 转自i https://blog.csdn.net/jiangwei1994/article/details/80774214
.net json i++ javascript