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

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

關于此任務遇到的問題如何優化一下:任務 補充右邊編輯器第16行,完成取消計時器函數。 補充右邊編輯器第23行,點擊Start按鈕后,開始計數。 補充右邊編輯器第24行,點擊Stop按鈕后,停止計數。

代碼如下,如何解決我點擊兩次start按鈕他就速度加倍(可能不止一倍)了,點擊多次根本停不下來,stop就沒用了

<!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;

? 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>


正在回答

2 回答

? var num=0;

? var i;

? function startCount(){

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

? ? num=num+1;

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

? ? document.getElementById('start').onclick=null;

? ??

? }

? function stopCount(){

? ? clearTimeout(i);

? ? document.getElementById('start').onclick=function(){startCount();}

? }

動態修改onclick的值,點擊start后將start的onclick事件設置為空,點擊stop后將start的onclick重新設置為startcount。目前沒發現其他問題,請大神檢查

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

做的時候還真沒發現這個問題,你可在每次調用的時候

? function startCount(){

?? clearTimeout(i);//在每次調用這個函數的時候的時候都把setTimeout給暫停了,然后代碼還會按照順序執行

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

? ? num=num+1;

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

? }

我也是剛剛學,說的不一定對,不過這樣是可以完成的,但是每一次點擊都會加一。這個問題留給大神吧


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

慕粉3780355 提問者

謝謝您的熱心回答,成功解決了我的問題,贊贊贊贊贊
2016-09-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于此任務遇到的問題如何優化一下:任務 補充右邊編輯器第16行,完成取消計時器函數。 補充右邊編輯器第23行,點擊Start按鈕后,開始計數。 補充右邊編輯器第24行,點擊Stop按鈕后,停止計數。

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

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

幫助反饋 APP下載

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

公眾號

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