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

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

為什么連續點擊start速度會變快,而且stop不下來

<!DOCTYPE HTML>

<html>

<head>

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

<title>計時器</title>


<script type="text/javascript">

? var num=0;

? var i;

? function startCount(){

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

? ? num=num+1;

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

? }

? function stopCount(){

? ?clearTimeout(i);

? }

</script>

</head>

<body>

? <form>

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

? ? <input type="button" value="Start" onclick="startCount()" />

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

? </form>

</body>

</html>


正在回答

5 回答

在startCount函數里第一行加?clearTimeout(i);可以解決這個問題

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

同學代碼里的第一個代碼就解決這個問題

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

很有趣的發現

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

可以停止, 你點了多少次start. 就點多少次 stop.

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

aycl

stop 需要 id,但只有一個變量 i 來記錄 id,所以是如何記錄到所有 id 的?
2019-01-18 回復 有任何疑惑可以回復我~
#2

PaulPierce 回復 aycl

這個我也不清楚. 我是實際測試的結果. 尷尬...
2019-02-18 回復 有任何疑惑可以回復我~

因為你不停的在打開定時器,你開了無數個。。所以導致程序亂了。。

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

上元琦夢 提問者

相當于多個進程在執行一個數據,是這樣么 ?
2018-12-19 回復 有任何疑惑可以回復我~
#2

陽火鍋 回復 上元琦夢 提問者

是這樣的,首先你點擊一下開了一個定時器在跑對吧。。這個定時器不會自己停止,因為你代碼只寫了打開,沒寫關閉。然后你二次又點擊,等于又把定時器打開。你這樣無限制的打開打開,你也數不清你開了多少個定時器了吧。。就相當于多次重復調用
2018-12-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么連續點擊start速度會變快,而且stop不下來

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

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

幫助反饋 APP下載

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

公眾號

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