2017-01-31 79 views
0

我有一個按鈕(用於提問)和倒數計時器(其中time =「2017/04/30 10:30:00),現在我想要的是當time = 0時自動禁用一個按鈕,當時間> 0自動重新啓用按鈕。自動啓用/禁用按鈕

我只有一個變量用來保存日期VAR時間=「2017年4月30日」,我想不斷地檢查時間將是使按鈕最好的選擇啓用/禁用,但我不知道該怎麼做

+4

添加您的相關代碼,請。 –

+0

並且包含一個與該代碼相關的更具體的問題陳述 – charlietfl

+1

您的倒計時器插件必須具有很少的回調函數,如定時器到達結束或計時器滴答回調時調用的回調函數。你可以利用它們來決定按鈕的狀態。 – vijayP

回答

0

在一個前端腳本中這樣做並不是一個好習慣,因爲幾乎任何具有基本JavaScript知識的人都可以重新啓用該按鈕,當我使用time==0時假設你不想發生,

我會建議在服務器端代碼中這樣做。簡而言之:

  1. 檢查計時器生成頁面時,如果計時器不在,生成禁用的按鈕,沒有任何本應處理點擊事件的代碼。
  2. 檢查定時器在處理由按鈕點擊觸發的請求時觸發,如果定時器超時則返回404或其他錯誤消息。

所有這一切是說,如果你「不得不」做這個快速骯髒的方式,你可以簡單地使用setIntervalsetTimeout

//javascript 
// check timer every 200 ms 
var TICK = 200; 
var checkTimerTask = setInterval(function(){ 
    if (getTimer() == 0){ 
     document.getElementById('buttonId').disabled = true; 
    } else { 
     document.getElementById('buttonId').disabled = false; 
    } 
    // to stop checking uncomment the following line. 
    // clearInterval(checkTimerTask); 
}, TICK); 
+0

非常感謝,grt help! – ben

+0

小問題,爲什麼你要在文件末尾調用文檔,文檔是做什麼的?對不起,我是js的初學者 – ben

+0

+ ben要將當前的'document'引用捕獲爲本地參數,以避免使用'global''document'變量。我將它刪除,因爲它引起了混淆,但與問題沒有直接關係。 – stupidlearner