無法執行執行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);
? }}