2017-01-31 3 views
0

У меня есть кнопка (для вопросов) и таймер обратного отсчета (где time = "2017/04/30 10:30:00), теперь я хочу, когда время = достигает 0 автоматически отключается a кнопка и когда время> 0, автоматически снова активирует кнопку.Автоматически включить/отключить кнопку

У меня есть только одна переменная для сохранения даты var time = "2017/04/30". Я думаю, что постоянная проверка времени будет лучшим вариантом для создания кнопки включить/отключить, но я не знаю, как это сделать.

+4

Добавить соответствующий код пожалуйста. –

+0

И включите более конкретную постановку проблемы, относящуюся к этому коду – charlietfl

+1

. Ваш плагин таймера обратного отсчета должен иметь несколько функций обратного вызова, например, тот, который вызывается, когда таймер достигает конца или обратного вызова таймера. вы можете использовать их для определения состояния кнопки. – vijayP

ответ

0

Это не очень хорошая практика для этого в своем интерфейсном скрипте, поскольку почти каждый, у кого есть базовые знания JavaScript, может снова включить кнопку, когда time==0, который я предположим, что вы не хотите.

Я предлагаю сделать это на серверном коде. Вкратце:

  1. проверить таймер при создании страницы, если таймер выключен, сгенерировать отключенную кнопку без какого-либо кода, который должен был обрабатывать событие click.
  2. проверить таймер при обработке запроса, вызванного нажатием кнопки, вернуть 404 или другое сообщение об ошибке, если таймер выключен.

Все, что было сказано, если вы «должны» делать это быстрый грязный способ, вы можете просто использовать setInterval или setTimeout:

//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

Смежные вопросы