0

我正在尝试编写一种游戏,您有 4 秒钟的时间来回答一个问题(口头),一旦完成,它就会转到下一个问题。我需要它来播放音频(不是我在这里问的),然后从 4 秒倒计时到 0,然后显示正确答案并继续前进。

如何创建一个从 4 秒到 0 秒的倒计时,然后继续下一件事?

我尝试了以下方法并失败了。

    var counter = 4;

    $('#seconds').html(counter);

    function decreaseSeconds(){
        counter--;
        $('#seconds').fadeOut('fast');
        $('#seconds').html(counter).delay(800);
        $('#seconds').fadeIn('fast');
    }

    while ( counter > 0){
         decreaseSeconds()
    }
4

4 回答 4

2

演示

var nextFunction = function () {
  alert('Hello.');
};

sec = 4;

interval = setInterval(function () {
  sec--;
  document.getElementById('sec').innerHTML = sec;

  if (sec == 0) {
    clearInterval(interval);
    nextFunction();
  }
}, 1000); ​
于 2012-08-01T08:32:58.687 回答
1

你应该使用 setTimeout

yourfirstfunction ();
setTimeout (yoursecondfunction, counter*1000);
于 2012-08-01T08:34:04.983 回答
0

为什么不使用纯 JavaScript 中的 setTimeout?http://www.w3schools.com/js/js_timing.asp

于 2012-08-01T08:32:34.403 回答
0

像这样的东西:http: //jsfiddle.net/collabcoders/MD6sz/2/

$(document).ready(function () {
  var secs = 4;
  ticker = setInterval(function(){
    $("#timer").html(secs + " seconds left");
    if (secs == 0) {

      //call some function when the clock hits 0
      $("#timer").html("time is up");
      clearInterval(ticker);
    }
    secs --;
  }, 1000);
});​
于 2012-08-01T08:39:09.643 回答