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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

javascript定時(shí)函數(shù)問(wèn)題

javascript定時(shí)函數(shù)問(wèn)題

fenkapian 2016-07-04 20:18:37
如下代碼,為什么點(diǎn)擊開(kāi)始按鈕,然后點(diǎn)更改時(shí)間間隔按鈕,這時(shí)再點(diǎn)停止按鈕時(shí)就失效了。點(diǎn)開(kāi)始后再點(diǎn)停止,就能正常停止。 <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"?xml:lang="en"> <head> <meta?http-equiv="Content-Type"?content="text/html;charset=UTF-8"> <title>定時(shí)函數(shù)</title> <script?type="text/javascript"> var?n?=?0; var?timer; function?t()?{ document.getElementById('b').innerHTML?=?'數(shù)字:'?+?(++n); } function?kaiShi()?{ timer?=?setInterval("t()",1000); } ???function?quit()?{ ????var?tui?=?clearInterval(timer); ???} ???function?gai()?{ timer?=?setInterval("t()",500); ???} </script> </head> <body> <label?id='b'></label> <input?type="button"?name=""?value="start"?onclick="kaiShi()"> <input?type="button"?name=""?value="停止"?onclick="quit()"> <input?type="button"?name=""?value='更改時(shí)間間隔為0.5秒'?onclick="gai()"> </body> </html>
查看完整描述

2 回答

已采納
?
super_mb

TA貢獻(xiàn)101條經(jīng)驗(yàn) 獲得超107個(gè)贊

定時(shí)器設(shè)置之后要清除,需要利用它返回的ID值,調(diào)用clearInterval()這個(gè)函數(shù)才可以清除定時(shí)器。在你的代碼里,開(kāi)始時(shí)timer存的是1000毫秒的定時(shí)器的ID,而當(dāng)你更改為500毫秒的定時(shí)器時(shí),timer存的是500毫秒定時(shí)器的ID值,這時(shí)候你沒(méi)有辦法再獲取1000毫秒的定時(shí)器的ID值,清除的只有500毫秒的定時(shí)器。如果要達(dá)到想要的效果,可以將函數(shù)gai()改成這樣:

function?gai()?{
????clearInterval(timer);?//此時(shí)timer的值還是1000毫秒定時(shí)器的ID值,先把它清除了
????timer?=?setInterval("t()",500);??//再開(kāi)啟新的定時(shí)器,此時(shí)timer的值是500毫秒的定時(shí)器
}


查看完整回答
7 反對(duì) 回復(fù) 2016-07-04
?
woshiajuana

TA貢獻(xiàn)211條經(jīng)驗(yàn) 獲得超152個(gè)贊

很簡(jiǎn)單,你點(diǎn)擊了時(shí)間開(kāi)始按鈕timer = setInterval("t()",1000);開(kāi)始跳動(dòng)

然后你沒(méi)有清除這個(gè)開(kāi)始按鈕創(chuàng)建的timer變量所指示的setInterval("t()",1000);定時(shí)器,就點(diǎn)擊那個(gè)更改時(shí)間間隔按鈕,又一次創(chuàng)建setInterval("t()",1000);定時(shí)器,并且把timer變量改成了第二次創(chuàng)建的,你的這種賦值法并不能清除掉你第一次點(diǎn)擊開(kāi)始創(chuàng)建的setInterval("t()",1000)定時(shí)器

所以當(dāng)你點(diǎn)擊停止的時(shí)候,那個(gè)第二次賦值給timer變量的定時(shí)器被清除掉了,但第一次的那個(gè)卻沒(méi)有清除

理解了的話,還請(qǐng)采納

查看完整回答
2 反對(duì) 回復(fù) 2016-07-04
  • 2 回答
  • 1 關(guān)注
  • 2648 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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