startTimer()中的两个if语句

时间:2015-04-23 18:44:14

标签: javascript

以下是倒数计时器。当我使用两个if statemtns时,时间跳2秒2秒。如何添加两个if statemtns并保持倒计时正常(因此时间每秒更改而不是两秒)

function startTimer(duration, display) {
    var timer = duration, minutes, seconds;
    setInterval(function () {
        minutes = parseInt(timer / 60, 10)
        seconds = parseInt(timer % 60, 10);

        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;

        display.textContent = minutes + ":" + seconds;

        if (--timer < 0.5) {
            alert("less than ½ minute")
        } else if (--timer < 0) {
            alert("completed")
        }
    }, 1000);
}

FIddle

1 个答案:

答案 0 :(得分:2)

丢失额外的减量(--),并先检查< 0 - 否则你永远不会看到< 0的情况,因为< 0.5也会是(并先检查)。

--timer;

if (timer < 0) {
  alert("completed")
}
else if (timer < 0.5) {
  alert("less than ½ minute")
}