js实现定时器及注意的问题
<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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。