第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么不能在script中運(yùn)行 startCount();而是要加setTimeout("startCount()",1000);

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>計(jì)時(shí)器</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();//用了這句話就報(bào)錯(cuò)了

</script>

</head>

<body>

<form>

<input type="text" id="count" />

</form>

</body>

</html>


正在回答

3 回答

首先,這里script位置在代碼前面,按照頁(yè)面加載順序,從上往下;

如果用?startCount(),當(dāng)加載到document.getElementById('count')這一句的時(shí)候,并不能獲取到body里面的元素(因?yàn)檫€沒(méi)加載到),所以會(huì)報(bào)錯(cuò);

因?yàn)槿绻?setTimeout("startCount()",1000),意思延遲1秒鐘再去執(zhí)行startCount函數(shù),在這1秒鐘內(nèi),body里面的元素已經(jīng)加載完畢,再去執(zhí)行startCount函數(shù)就能夠正常執(zhí)行document.getElementById('count');

這就是原因,改進(jìn)辦法很簡(jiǎn)單,直接將整個(gè)<script>放到</body>上方即可

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weibo_e_狼傳說(shuō)_0 提問(wèn)者

非常感謝!原來(lái)還有這個(gè)細(xì)節(jié)
2016-10-31 回復(fù) 有任何疑惑可以回復(fù)我~
#2

人在夢(mèng)游中

你好,但是我使用 setTimeout("startCount()"); 也是可以調(diào)用的,這是為什么啊
2016-11-02 回復(fù) 有任何疑惑可以回復(fù)我~
#3

stone310 回復(fù) 人在夢(mèng)游中

setTimeout("startCount()"); 這樣寫(xiě)相當(dāng)于 setTimeout("startCount()",0);這么寫(xiě)的意思是等文檔流穩(wěn)定后,再去執(zhí)行setTimeout,所以可以調(diào)用,往深一點(diǎn)說(shuō)就是定時(shí)器是有一個(gè)單獨(dú)的線程,可以達(dá)到變更文檔加載順序的效果,更詳細(xì)可自行上網(wǎng)查閱
2016-11-02 回復(fù) 有任何疑惑可以回復(fù)我~
#4

人在夢(mèng)游中 回復(fù) stone310

3Q.
2016-11-03 回復(fù) 有任何疑惑可以回復(fù)我~
#5

Tyler_me 回復(fù) stone310

setTimeout("startCount()",0);就是相當(dāng)于onload="startCount()";是吧?
2016-11-10 回復(fù) 有任何疑惑可以回復(fù)我~
#6

stone310 回復(fù) Tyler_me

要等onload事件結(jié)束后,再執(zhí)行settimeout里面的事件
2016-11-10 回復(fù) 有任何疑惑可以回復(fù)我~
#7

Tyler_me 回復(fù) stone310

懂了,謝謝
2016-11-10 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>計(jì)時(shí)器</title>

</head>

<body>

<script type="text/javascript">

? function startCount() {

? ? document.write(0); ??

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

? }

? ? startCount();

</script>

</body>

</html>

//這串代碼只有360極速模式下能一直執(zhí)行寫(xiě)0?;鸷琲e都不行。谷歌沒(méi)試過(guò).。這是為什么啊


0 回復(fù) 有任何疑惑可以回復(fù)我~

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>計(jì)時(shí)器</title>

</head>

<body>

<form>

<input type="text" id="count" />

</form>

<script type="text/javascript">

? var num=0;

? function startCount() {

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

? ? num=num+1;

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

? }

? ? startCount();//用了這句話就報(bào)錯(cuò)了

</script>

</body>

</html>

這樣子就可以了,解決辦法參考了

http://www.phpernote.com/javascript-function/1135.html

望采納

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weibo_e_狼傳說(shuō)_0 提問(wèn)者

我還有一個(gè)問(wèn)題想請(qǐng)教請(qǐng)教你
2016-10-31 回復(fù) 有任何疑惑可以回復(fù)我~
#2

老友丶 回復(fù) weibo_e_狼傳說(shuō)_0 提問(wèn)者

應(yīng)該沒(méi)有了吧,你采納的那位大神已經(jīng)回答得很完美了。
2016-10-31 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么不能在script中運(yùn)行 startCount();而是要加setTimeout("startCount()",1000);

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)