為什么不能無限調(diào)用?是不是編輯器問題?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>計時器</title>
<script type="text/javascript">
? var num=0;
? function startCount() {
? ? document.getElementById('count').value=num;
? ? num=num+1;
? ? document.write(num);
? ? setTimeout("startCount()",1000);
? }
</script>
</head>
<body>
<form>
<input type="text" id="count" />
<input type="button" id="kaishi" value="start" onclick="startCount()"/>
</form>
</body>
</html>
2018-09-23
不可以使用 document.write 在這個 function 里面, js是一個從上到下的執(zhí)行語言,第一次執(zhí)行function時由于有document.write 的原因 原始html文件中的 <form></form>中的所有代碼 被 function中的document.write(num); 抹去并替代 所以js 將無法找尋到 id 為 count 的 <input />標簽, 從而無法將value 賦給 <input />.
2018-09-03
刪去 document.write(num);
如一樓所說,在你的實例里,已經(jīng)實現(xiàn)了無限循環(huán),只是文本框被覆蓋了沒有顯示;
詳細點說,當你點擊start按鈕時,你的文本框和按鈕消失了,只顯示了1,并不是沒有無限調(diào)用,而是被document.write(num)輸出的“1”覆蓋,而不顯示了。
?不要隨意使用document.write(),在HTML文檔加載完成后,執(zhí)行document.write()輸出語句會覆蓋所有已加載完成的HTML元素,只顯示?document.write()輸出內(nèi)容——也就是案例里顯示的“1”。
2018-08-27
不要在function StartCount里 寫任何輸出 ,比如你寫的document.write(num);? 我們寫StartCount函數(shù)的目的只是單純的為了修改文本框的值,如果你寫了輸出語句,瀏覽器會顯示輸出語句的內(nèi)容,但是文本框就不會顯示出來了,你就看不到文本框中數(shù)字的變化。?
2018-08-25
settimeout就是用來調(diào)一次的 ? 無限調(diào)用的要用setinterval