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

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

沒感覺這樣寫有什么問題呢,為什么執行不了

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
<title>計時器</title>
</head>
<script?type="text/javascript">
??var?num=0;
??function?startCount()?{
????document.getElementById('count').value=num;
????num=num+1;
????setTimeout("startCount()",1000);?
??}
//setTimeout("startCount()",1000)?;??
startCount();
</script>
</head>
<body>
<form>
<input?type="text"?id="count"?/>
</form>
</body>
</html>

如題,代碼如上。

正在回答

8 回答

Javascript代碼是順序執行的,而你在調用startCount的時候還沒有加載完,找不到對象ID'count',所以肯定出不來結果。而setTimeout("startCount()",1000)?;因為有延遲,當它調用startCount時,此時代碼已經加載完,所以工作起來沒什么問題

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

乖乖小宇宙的圍脖

講的好
2016-05-02 回復 有任何疑惑可以回復我~
#2

garnett555 提問者

非常感謝!
2016-05-02 回復 有任何疑惑可以回復我~
#3

真水無香3124609

果然把整個script放到input標簽后面就能執行了
2016-05-04 回復 有任何疑惑可以回復我~
#4

真水無香3124609 回復 真水無香3124609

不過函數里面有個setTimeout()延遲,執行還是達不到直接用兩個setTimeout()的效果
2016-05-04 回復 有任何疑惑可以回復我~
查看1條回復

樓上講的對哦,樓主你可以把script放在body最下面試試,按這樣的寫法就正確啦

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

我也是這樣寫的 但是一開始執行不起 后來又能執行了 是什么鬼。。不懂

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

因為你的startCount這個函數沒有被調用啊····

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

garnett555 提問者

調用了呀,在注釋的下一行
2016-04-26 回復 有任何疑惑可以回復我~

你這樣寫是不能調用函數的,全局函數才可以這樣調用,要有輸入值返回值,

這種函數的調用要用window.onload函數,

你把你的15行改為window.onload=startCount;

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

garnett555 提問者

可以執行的是注釋那行的代碼,我想試試我自己寫的去掉定時器的注釋下面那行的代碼,沒覺得有什么問題。。。
2016-04-26 回復 有任何疑惑可以回復我~
#2

qq_吃藥先森_03169839 回復 garnett555 提問者

就是你的15行無法直接調用
2016-04-26 回復 有任何疑惑可以回復我~
#3

garnett555 提問者 回復 qq_吃藥先森_03169839

按你說的試了,好神奇。。。為什么呢
2016-04-26 回復 有任何疑惑可以回復我~
#4

qq_吃藥先森_03169839 回復 garnett555 提問者

因為不是全局函數,無法直接調用
2016-04-27 回復 有任何疑惑可以回復我~
查看1條回復

感覺好像是因為startCount這個函數調用問題。。。

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

你的第十行寫反了吧!num是什么?把它賦值ID為“count”有什么意義?

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

garnett555 提問者

再好好看看吧。。。
2016-04-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

沒感覺這樣寫有什么問題呢,為什么執行不了

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

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

幫助反饋 APP下載

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

公眾號

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