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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我點擊結束計時之后,再次重新計時,不是從0開始,而是接著之前的數字開始計時?

為什么我點擊結束計時之后,再次重新計時,不是從0開始,而是接著之前的數字開始計時?

<!DOCTYPE?html> <html> <head> ????<meta?charset="UTF-8"> ????<title>Document</title> ????<script> ????window.onload?=?function()?{ ????????????var?a?=?0; ????????????obtn1?=?document.getElementById("btn1"); ????????????obtn2?=?document.getElementById("btn2"); ????????????obtn1.onclick?=?function()?{ ????????????????setTimeout(function?rec()?{ ????????????????????document.getElementById("txt").value?=?a; ????????????????????a?=?a?+?1; ????????????????????x?=?setTimeout(rec,?1000) ????????????????},?1000) ????????????} ????????????obtn2.onclick?=?function()?{ ????????????????var?b?=?0; ????????????????setTimeout(document.getElementById('txt').value=b,?0);? ?????????????????clearTimeout(x); ????????????????} ????????????} ????</script> </head> <body> ????<input?type="text"?name="text"?id="txt"?/> ????<input?type="button"?id="btn1"?value="開始計時!"?/> ????<input?type="button"?id="btn2"?value="結束計時!"?/> </body> </html>為什么我點擊結束計時之后,再次重新計時,不是從0開始,而是接著之前的數字開始計時? ?請問問題出在哪兒了?怎么修改
查看完整描述

1 回答

已采納
?
千秋此意

TA貢獻158條經驗 獲得超188個贊

變量a沒重置,這樣改就行了:

obtn2.onclick?=?function()?{
????document.getElementById('txt').value?=?0;
????a?=?0;
????clearTimeout(x);
}

其他部分不變

查看完整回答
1 反對 回復 2017-05-11
  • abc123456789def
    abc123456789def
    測試成功,僅僅是document.getElementById('txt').value = 0;不是清零嗎? a=0;的意思是告訴它重新從0開始么?
  • 千秋此意
    千秋此意
    額。。你原來那句setTimeout(document.getElementById('txt').value=b, 0); 不也是清零嗎=。= 另外 你這個變量a是放在點擊事件外面的,所以每次你點擊btn1時并不會重置a,所以就需要手動重新賦值為零啦,當然你也可以把 var a = 0;這一句放到 btn1.onclik的回調函數內部去
  • 千秋此意
    千秋此意
    就是那個響應onclick事件的匿名函數。。
點擊展開后面2
  • 1 回答
  • 0 關注
  • 2188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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