Как установить один счетчик минут в JavaScript? - PullRequest
10 голосов
/ 01 августа 2011

В моем проекте у меня есть список вопросов, на каждый вопрос есть три варианта ответа.

После того, как увидеть вопрос, если я хочу ответить, этот вопрос означает нажать кнопку «Показать ответ».когда я нажимаю кнопку, счетчик запускается в течение одной минуты после того, как появится сообщение об ошибке в одну минуту.

Может ли кто-нибудь помочь?

Ответы [ 3 ]

18 голосов
/ 01 августа 2011

Вы можете использовать что-то вроде этого:

function gameLost() {
  alert("You lose!");
}
setTimeout(gameLost, 60000);

ОБНОВЛЕНИЕ: передать ссылку на функцию setTimeout() вместо строки кода (я действительно так написал? O_o)


РЕДАКТИРОВАТЬ

Для отображения таймера тоже (улучшенная версия, также благодаря Дэвину):

<button onclick="onTimer()">Clickme</button>
<div id="mycounter"></div>
<script>
i = 60;
function onTimer() {
  document.getElementById('mycounter').innerHTML = i;
  i--;
  if (i < 0) {
    alert('You lose!');
  }
  else {
    setTimeout(onTimer, 1000);
  }
}
</script>

......

6 голосов
/ 01 августа 2011
function timedOut() {
    alert("Some error message");
}

// set a timer
setTimeout( timedOut , 60000 );

Это в основном устанавливает таймер, который будет выполнять данную функцию через 60.000 милисекунд = 60 секунд = 1 минута

Редактировать: вот быстрая, несовершенная скрипка, которая также показывает обратный отсчет http://jsfiddle.net/HRrYG

function countdown() {
    var seconds = 60;
    function tick() {
        var counter = document.getElementById("counter");
        seconds--;
        counter.innerHTML = "0:" + (seconds < 10 ? "0" : "") + String(seconds);
        if( seconds > 0 ) {
            setTimeout(tick, 1000);
        } else {
            alert("Game over");
        }
    }
    tick();
}

// start the countdown
countdown();
1 голос
/ 01 августа 2011

Вы можете использовать функцию setTimout, ознакомьтесь с этой статьей.https://developer.mozilla.org/En/Window.setTimeout Помните, что таймер в миллисекундах, поэтому на одну минуту это 60 000.

...