Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript startTimer()中的两个if语句_Javascript - Fatal编程技术网

Javascript startTimer()中的两个if语句

Javascript startTimer()中的两个if语句,javascript,Javascript,下面是倒计时。当我使用两个if状态时,时间会跳跃2秒乘以2秒。如何添加两个if statemtns并保持正常倒计时(因此时间每秒钟更改一次,而不是每两秒更改一次) 功能启动定时器(持续时间,显示){ var定时器=持续时间,分钟,秒; setInterval(函数(){ 分钟=parseInt(计时器/60,10) 秒=parseInt(计时器%60,10); 分钟=分钟

下面是倒计时。当我使用两个if状态时,时间会跳跃2秒乘以2秒。如何添加两个if statemtns并保持正常倒计时(因此时间每秒钟更改一次,而不是每两秒更改一次)

功能启动定时器(持续时间,显示){
var定时器=持续时间,分钟,秒;
setInterval(函数(){
分钟=parseInt(计时器/60,10)
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(--定时器<0.5){
警报(“小于½分钟”)
}否则,如果(--计时器<0){
警报(“已完成”)
}
}, 1000);
}
丢失额外的减量(
--
),然后首先检查
<0
——否则您将永远看不到
<0
的情况,因为
<0.5
也将为真(并首先检查)

——定时器;
如果(计时器<0){
警报(“已完成”)
}
否则如果(计时器<0.5){
警报(“小于½分钟”)
}

谢谢。成功了。使用
clearInterval()是否更好内部
如果(计时器<0){…}
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);
}
--timer;

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