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

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

為什么不可以停止?

<!DOCTYPE HTML>

<html>

<head>

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

<title>計時器</title>

<script type="text/javascript">

? ?function clock(){

? ? ? var time=new Date();? ? ? ? ? ? ? ? ??

? ? ? document.getElementById("clock").value = time;

? ?}

? ? ?var i =setInterval(clock,1000);

</script>

</head>

<body>

? <form>

? ? <input type="text" id="clock" size="50"? />

? ? <input type="button" value="Stop" onclick="clearInterval(i)" />

? </form>

</body>

</html>


正在回答

6 回答

親測,是慕課網(wǎng)的網(wǎng)頁問題。將代碼復(fù)制下來,然后放在test.html文件中

http://img1.sycdn.imooc.com//5a6455840001bbe908730485.jpg

然后用任意瀏覽器打開,stop功能是正常的。


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

贊同樓上的說法,應(yīng)該和慕課網(wǎng)的驗證機(jī)制有關(guān),我將代碼復(fù)制進(jìn)JSbin里面運行,就沒有發(fā)現(xiàn)這個不能停止的問題。

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

補(bǔ)充:(在未刷新頁面的情況下)每次提交后,setInterval()的返回值會累加,但每次只是生成兩個計時器(i和i-1),因此function stop()中寫成?

{

clearInterval(i);?

clearInterval(i-1);

}

比較恰當(dāng); ? ? ?


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

分享一下自己debug的經(jīng)歷:

我最開始也遇到了和你一樣的問題,無論是把clearInterval(i)寫在onclick里,還是封裝在function里都無法停止。

后來通過查看setInterval()的返回值發(fā)現(xiàn),返回值從1開始自增(你可以通過點擊自動運行按鈕發(fā)現(xiàn)),但每次提交后,得到的結(jié)果是2 4 6...,因此是每次提交后都會出現(xiàn)兩個計時器(可能和慕課網(wǎng)的提交機(jī)制有關(guān)),也就是說,你調(diào)用了clearInterval(i)只關(guān)閉了一個計時器,還有前一個計時器在調(diào)用clock函數(shù)。

例:在setInterval()方法下寫一行document.write("id:"+i);第一次提交后頁面打印出id=2;此時你clearInterval(i)關(guān)閉了返回值為2的計時器,但事實是有返回值為1的計時器生成了.為了能關(guān)閉到所有計時器,我寫了一個for循環(huán),遍歷關(guān)閉返回值從1到i的計時器,同時用一個函數(shù)封裝起來讓Stop按鈕調(diào)用,然后你會發(fā)現(xiàn)確實停止了

<!DOCTYPE HTML>

<html>

<head>

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

<title>計時器</title>

<script type="text/javascript">

? ?function clock(){

? ? ? var time=new Date(); ? ? ? ? ? ? ? ?

? ? ? document.getElementById("clock").value = time;

? ?}

? ? var i = setInterval("clock()",1000);?

? ??

? ? document.write("id:"+i);

? ? function stop(){

? ? ? ? for(var j =1;j<=i;j++){

? ? ? ? clearInterval(j); ??

? ? ? ? }

? ? }

</script>

</head>

<body>

? <form>

? ? <input type="text" id="clock" size="50" ?/>

? ? <input type="button" value="Stop" onclick="stop()" ?/>

? </form>

</body>

</html>

結(jié)論:個人認(rèn)為這跟慕課網(wǎng)提交按鈕的實現(xiàn)有關(guān)系(學(xué)習(xí)前面課程同時打開過兩個新窗口的同學(xué)舉手?)

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

代碼是沒有問題的,可能是瀏覽器的問題,你提交后刷新一下再試試,提交后內(nèi)容是保存的!

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

你根本就沒有停止定時器啊,要加

clearInterval(i)

才停的


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

舉報

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468777    人
  • 解答問題       22474    個

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界

進(jìn)入課程

為什么不可以停止?

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

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

幫助反饋 APP下載

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

公眾號

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