很多時(shí)候我們?cè)趯?shí)際應(yīng)用中,可能并不希望按鈕聯(lián)系被不間斷的點(diǎn)擊,所以要限定一定的時(shí)間間隔才能夠再次點(diǎn)擊按鈕,下面就通過(guò)代碼實(shí)例介紹一下如何實(shí)現(xiàn)此功能,代碼如下:
代碼如下:
0
以上代碼實(shí)現(xiàn)了我們的要求,可以限制點(diǎn)擊按鈕的間隔時(shí)間,這一效果可以擴(kuò)展到其他的功能中,比如限制發(fā)帖的間隔時(shí)間等等,下面就介紹一下它的實(shí)現(xiàn)過(guò)程。
代碼注釋如下:
1.window.onload=function(){},規(guī)定文檔內(nèi)容完全加載完畢再去執(zhí)行函數(shù)中的代碼。
2.var odiv=document.getElementById("thediv"),獲取div元素對(duì)象。
3.var obt=document.getElementById("bt"),獲取按鈕對(duì)象。
4.var count=0,聲明一個(gè)變量并賦初值為0,它用來(lái)存儲(chǔ)間隔時(shí)間。
5.var flag=null,聲明一個(gè)變量并賦初值為null,此變量用來(lái)存儲(chǔ)定時(shí)器函數(shù)的返回值。
6.function done(){},此函數(shù)可以被定時(shí)器函數(shù)不斷的調(diào)用,來(lái)對(duì)count進(jìn)行遞減。
7.if(count==0){clearInterval(flag);},如果count==0,則停止定時(shí)器函數(shù)的執(zhí)行。
8.else{count=count-1;},如果不等于0,則進(jìn)行減一操作。
9.obt.onclick=function(){},為按鈕注冊(cè)點(diǎn)擊事件處理函數(shù)。
10.var val=parseInt(odiv.innerHTML),獲取div中的內(nèi)容,并轉(zhuǎn)換為整數(shù)。
11.if(count==0){
odiv.innerHTML=val+1;
count=20;
flag=setInterval(done,1000);
}
如果count等于0話餓,那么就將div中的內(nèi)容+1,并且將count設(shè)置為20,同時(shí)開機(jī)定時(shí)器函數(shù)的執(zhí)行。
12.else{alert("還需要"+(count)+"秒才能點(diǎn)擊");},如果count不等于零,那么彈出還差多長(zhǎng)時(shí)間可以點(diǎn)擊。
更多信息請(qǐng)查看IT技術(shù)專欄