暂停倒计时javascript jquery

时间:2014-11-11 22:50:24

标签: javascript timer seconds

http://jsfiddle.net/vvccvvcc/mu45bptk/

如何暂停计时器?我希望它在达到5秒后停止

我在小提琴中看到了这个尝试

else {
        isWaiting = true;
        seconds--;

        if (seconds == 5) {
            seconds=seconds;}     




    }

不起作用

2 个答案:

答案 0 :(得分:0)

计时器由setInterval(GameTimer, 1000);

初始化
    if (seconds == 5) {
        clearInterval(countdownTimer);
    } else {
         seconds--;
    }

您需要清除间隔才能停止调用该功能。或者,如果您不想清除间隔,则可以说

    if (seconds > 5) {
         seconds--;
    }

您编写的方式,second无论条件如何都会降低(因为它在if语句之前),因此second = second变得无关紧要

答案 1 :(得分:0)

这是你在找什么? 小提琴:http://jsfiddle.net/mu45bptk/2/

var isWaiting = false;
var isRunning = false;
var seconds = 10;
var countdownTimer;
var finalCountdown = false;

function GameTimer() {
    if (isWaiting) {
        return;   
    }
    var minutes = Math.round((seconds - 30) / 60);
    var remainingSeconds = seconds % 60;
    if (remainingSeconds < 10) {
        remainingSeconds = "0" + remainingSeconds;
    }
    document.getElementById('waiting_time').innerHTML = minutes + ":" + remainingSeconds;
    if (seconds == 0) {

        if (finalCountdown) {
            clearInterval(countdownTimer);
        } else {
            finalCountdown = true;
        }

    } else {             
        if (seconds == 5) {            
            isWaiting = true;  
        } else {
            seconds--;
        }




    }
}
countdownTimer = setInterval(GameTimer, 1000);

您只需在seconds == 5设置isWaiting,然后在GameTimer()的每次运行中检查isWaiting