Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 在计时器结束时显示消息一段时间_Javascript_Html_Timer - Fatal编程技术网

Javascript 在计时器结束时显示消息一段时间

Javascript 在计时器结束时显示消息一段时间,javascript,html,timer,Javascript,Html,Timer,我想知道如何在计时器结束时显示消息一段时间(1分钟),然后再次循环 所需过程的示例: 计时器启动2分钟(“02:00”) 计时器在结束时被一条消息(“等待…”)替换,该消息在循环中完成1分钟 谢谢你,昆汀S 我已经意识到计时器,但我错过了更多,监视器标签被我想在从一开始就开始流程之前放置1分钟的消息所取代 02:00 功能启动定时器(持续时间,显示){ var定时器=持续时间,分钟,秒; setInterval(函数(){ 分钟=parseInt(计时器/60,10); 秒=parseIn

我想知道如何在计时器结束时显示消息一段时间(1分钟),然后再次循环

所需过程的示例:

  • 计时器启动2分钟(“02:00”)
  • 计时器在结束时被一条消息(“等待…”)替换,该消息在循环中完成1分钟
谢谢你,昆汀S

我已经意识到计时器,但我错过了更多,监视器标签被我想在从一开始就开始流程之前放置1分钟的消息所取代

02:00
功能启动定时器(持续时间,显示){
var定时器=持续时间,分钟,秒;
setInterval(函数(){
分钟=parseInt(计时器/60,10);
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(--定时器<0){
定时器=持续时间;
}
}, 1000);
}
window.onload=函数(){
var twoMinutes=60*2,
display=document.querySelector(“#time”);
startTimer(两分钟,显示);
};

我会在时间为零时停止间隔,并在一分钟后使用
setTimeout

顺便说一句,您的代码有一个小错误,为
setInterval
提供的回调在间隔开始时不运行,而只在一个间隔之后运行(在您的情况下是一秒钟)。我已经把它修好了

我还调整了时间以减少等待

功能启动定时器(持续时间、显示、暂停){
var定时器=持续时间,分钟,秒;
const updateTime=函数(){
分钟=parseInt(计时器/60,10);
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(--定时器<0){
定时器=持续时间;
display.textContent=“等待…”;
clearInterval(intervalId);
setTimeout(函数(){
开始计时器(持续时间、显示、暂停)
},暂停*1000)
}
}
const intervalId=setInterval(updateTime,1000);
updateTime();
}
window.onload=函数(){
var间隔=4,
display=document.querySelector(“#time”);
起始计时器(间隔,显示,2);
};
XX:XX
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) {
            timer = duration;
        }
        }, 1000);
    }

    window.onload = function () {
        var twoMinutes = 60 * 2,
            display = document.querySelector('#time');
        startTimer(twoMinutes, display);
    };