想实现按钮点一下计时停止,再次点击又开始,再点停止,以此类推,可为什么我的代码不能实现呢?有什么问题吗?
代码里面都有注释了,谁帮我看看有设么问题吗?实现不了
2015-11-29
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> <script type="text/javascript"> var i; function clock() { //显示时间 var time = new Date(); document.getElementById("clock").value = time; } i = setInterval("clock()", 1000); //(1) /*写在这里的目的在于一开始就能在浏览器中显示出时间,而不用人为地一开始就要点击“s tart”按钮*/ function runOrStop() { if(i){ clearInterval(i); i=null; }else{ i = setInterval("clock()", 1000); } } </script> </head> <body> <form> <input type="text" id="clock" size="50"/> <input type="button" id="change" value="Stop" onclick="runOrStop()"/> </form> </body> </html>
没有你想的那么复杂,你只需要判断是不是有定时器在执行就行了,有就停掉它,没有就开启一次。有一个注意点是最好不要用change做方法名,因为他是一个关键字,否则有时你会发现这个方法无效。
举报