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