javascript設(shè)置連續(xù)兩次點(diǎn)擊按鈕時(shí)間間隔的方法

字號(hào):


    很多時(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)擊。