無法執行執行clearTimeout?
代碼如下,無法執行clearTimeout,通過console.log()可以看到startCount()一直在運行,請問為什么?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"> <title>計時器</title> </head> </head> <body> <form> <input?type="text"?id="count"??/> </form> <script?type="text/javascript"> ??var?num=0,i; ??function?startCount()?{ ????console.log(num); ????if(num==5){ ??????stopCount(); ????} ????document.getElementById('count').value=num; ????num=num+1; ????i=setTimeout("startCount()",1000); ??} ??function?stopCount(){ ????clearTimeout(i); ??} ??startCount() </script> </body> </html>
2016-12-30
IF 語句沒寫完整啊 應該把19-21行放在else里面,要不然你這樣寫,if語句只控制到了num一次,后面的num不受控制當然不會停止輸出,18-21如下改就可以了
}else{
? ? document.getElementById('count').value=num;
? ? num=num+1;
? ? i=setTimeout("startCount()",1000);
? }}