清除计时器中间的问题
首先计时器函数setInterval()返回的是一个计时器的id,然后清除计时器函数clearInterval()中参数就是一个需要停止的计时器的id号。
具体使用如下:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小闹钟</title> </head> <body> <span id = "clock"></span> <script type = "text/javascript"> var count = 0;
//设置计时器 var clockId = window.setInterval("clock()",1000); function clock(){ var obj = document.getElementById("clock"); var time = new Date(); obj.innerHTML = time.toLocaleString(); count++; //清除计时器 if(count==5){ window.clearInterval(clockId); } } </script> </body> </html>
其中有一点需要注意一下,就是清除计时器的函数必须放在定时调用那个函数里面才可以,否则将一直得不到执行。
错误实例:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小闹钟</title> </head> <body> <span id = "clock"></span> <script type = "text/javascript"> var count = 0; var clockId = window.setInterval("clock()",1000); function clock(){ var obj = document.getElementById("clock"); var time = new Date(); obj.innerHTML = time.toLocaleString(); count++; } //清除计时器 if(count==5){ window.clearInterval(clockId); } </script> </body> </html>
要是想不通可以自己调试一下!