http://jsfiddle.net/vvccvvcc/mu45bptk/
如何暂停计时器?我希望它在达到5秒后停止
我在小提琴中看到了这个尝试
else {
isWaiting = true;
seconds--;
if (seconds == 5) {
seconds=seconds;}
}
不起作用
答案 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