課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么要用兩次呢 求大神的解答
2015-01-16
源自:JavaScript進階篇 8-5
正在回答
函數外面的目的是1s中后調用,你也可以直接寫成startCount();函數里面的,固然是為了實現不斷循環,遞歸調用自己~
??輄 提問者
Fiona0126 回復 ??輄 提問者
<!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"?/> <script?type="text/javascript"> ??var?num=0; ??function?startCount()?{ ????document.getElementById('count').value=num; ????num=num+1; ????setTimeout('startCount()',1000); ??} ??startCount(); </script> </form> </body> </html>
代碼就應該是這樣,慕課課程里面的運行有時候不是太好,每次都是外面調試
其實這樣寫才是合理的啦:
<script?type="text/javascript"> ??var?num=0; ??function?startCount()?{ ????document.getElementById('count').value=num; ????num=num+1; ?????setTimeout(startCount,1000); ??} ??startCount() </script>
因為,你是放到head里面,而 #count 這個 input在解析js時還沒有渲染出來,所以你的代碼是在1s才能執行,1s后那個input已經渲染出來了,不過以后千萬不要這么寫,正常來說應該是按我上面的代碼寫,然后把 js 放到input后面,必須是要先讓 dom 加載出來,然后js 才能去操作它們~
遞歸調用,不是用兩次,是用無數次。。。
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答setTimeout("startCount()",1000);要寫兩次
3 回答為什么要使用兩次setTimeout("startCount()",1000);
1 回答為什么要用兩個setTimeout("startCount()",1000)
2 回答setTimeout("startCount()",1000);
6 回答為什么要兩句setTimeout("startCount()",1000);
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-01-16
函數外面的目的是1s中后調用,你也可以直接寫成startCount();函數里面的,固然是為了實現不斷循環,遞歸調用自己~
2015-01-24
代碼就應該是這樣,慕課課程里面的運行有時候不是太好,每次都是外面調試
2015-01-16
其實這樣寫才是合理的啦:
因為,你是放到head里面,而 #count 這個 input在解析js時還沒有渲染出來,所以你的代碼是在1s才能執行,1s后那個input已經渲染出來了,不過以后千萬不要這么寫,正常來說應該是按我上面的代碼寫,然后把 js 放到input后面,必須是要先讓 dom 加載出來,然后js 才能去操作它們~
2015-01-16
遞歸調用,不是用兩次,是用無數次。。。