亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么在script里面寫startCount();沒有用 在外面新加一個按鈕綁定onclick事件才能觸發調用startCount函數一次 繼而進行內部調用

startCount();

正在回答

7 回答

function?startCount()?{
????document.getElementById('count').value=num;
????num=num+1;??
????setTimeout("startCount()",1000);
??}

因為這里的setTimeout("startCount()",1000)是在函數內部,是函數的一部分,你不用onclick調用該函數的話是不起作用的(函數需調用才能執行,不然只是幾行代碼)。所以需要下邊表單里的onclick來調用。

當然,你把setTimeout("startCount()",1000)再放在函數的外邊不需要onclick也會執行了,像下邊這樣:

function?startCount()?{
????document.getElementById('count').value=num;
????num=num+1;??
????setTimeout("startCount()",1000);
??}
??setTimeout("startCount()",10000);


2 回復 有任何疑惑可以回復我~
#1

我是劉高興

不知道你是否還有疑問,函數內部的setTimeout()是調用函數自身實現無數循環的,外邊的setTimeout()是調用這個函數的
2016-07-16 回復 有任何疑惑可以回復我~

你好!

你的本意是要每間隔一秒數字加1,以達到計時的效果;具體的做法就是每隔一秒執行一下函數。

setTimeout();這個方法是在等到一段時間后執行一次函數,只執行一次;

setInterval() ;這個方法每隔一段時間就執行一次函數,不斷地執行;

????所以,setInterval() ;才符合你的要求;

<script type="text/javascript">

? var num=0;

? function startCount() {

? ? document.getElementById('count').value=num;

? ? num=num+1;?

? }

? setInterval("startCount()",1000);

</script>


1 回復 有任何疑惑可以回復我~

因為你js寫在了id=”count“的輸入框的前面,document.getElementById('count')返回是null ??


這是我復制的!

0 回復 有任何疑惑可以回復我~

同問啊!

1 回復 有任何疑惑可以回復我~

同問??!

0 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//578462870001bf0205410431.jpg你在12行后面加個startCount();然后注釋掉18行 試試?? 我這沒有用

0 回復 有任何疑惑可以回復我~
#1

大塊吃肉188

如果是這樣的話,我試過了不行的。在加載到startCount()時候就開始執行function startCount(){}但是document.getElementById("count")獲取id的時候下面的body部分還沒加載,會返回一個null,
2016-08-13 回復 有任何疑惑可以回復我~

在script里面寫startCount()肯定有用的,估計代碼有問題,最好上截圖

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么在script里面寫startCount();沒有用 在外面新加一個按鈕綁定onclick事件才能觸發調用startCount函數一次 繼而進行內部調用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號