Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 当倒计时达到0时,是否用文本替换倒计时?_Javascript - Fatal编程技术网

Javascript 当倒计时达到0时,是否用文本替换倒计时?

Javascript 当倒计时达到0时,是否用文本替换倒计时?,javascript,Javascript,我试图在倒计时结束后用一些文字来代替倒计时。然而,我似乎无法做到这一点 以下是JavaScript代码: function startTimer(duration, display) { var timer = duration, minutes, seconds; setInterval(function() { minutes = parseInt(timer / 60, 10) seconds = parseInt(timer % 60, 1

我试图在倒计时结束后用一些文字来代替倒计时。然而,我似乎无法做到这一点

以下是JavaScript代码:

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;
        }
        console.log(parseInt(seconds))
        window.localStorage.setItem("seconds", seconds)
        window.localStorage.setItem("minutes", minutes)
    }, 1000);
}

window.onload = function() {
    sec = parseInt(window.localStorage.getItem("seconds"))
    min = parseInt(window.localStorage.getItem("minutes"))

    if (parseInt(min * sec)) {
        var fiveMinutes = (parseInt(min * 60) + sec);
    } else {
        var fiveMinutes = 60 * 5;
    }
    // var fiveMinutes = 60 * 5;
    display = document.querySelector('#time');
    startTimer(fiveMinutes, display);
};
功能启动定时器(持续时间,显示){
var定时器=持续时间,分钟,秒;
setInterval(函数(){
分钟=parseInt(计时器/60,10)
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟++++秒;
如果(--定时器<0){
定时器=持续时间;
}
console.log(parseInt(秒))
window.localStorage.setItem(“秒”,秒)
window.localStorage.setItem(“分钟”,分钟)
}, 1000);
}
window.onload=函数(){
sec=parseInt(window.localStorage.getItem(“秒”))
min=parseInt(window.localStorage.getItem(“分钟”))
if(parseInt(最小*秒)){
var fiveMinutes=(parseInt(分钟*60)+秒);
}否则{
变量五分钟=60*5;
}
//变量五分钟=60*5;
display=document.querySelector(“#time”);
startTimer(五分钟,显示);
};
试试这个:

if (--timer < 0) {
    display.textContent = "some text";
}
if(--timer<0){
display.textContent=“一些文本”;
}

像这样的东西怎么样:

if (--timer < 0) {
    timer = duration;
    display.textContent = minutes + " " + " " + seconds;
}else
    display.textContent = "some text";
if(--timer<0){
定时器=持续时间;
display.textContent=分钟++++秒;
}否则
display.textContent=“一些文本”;

我在你的代码中看不到
一些文本。。。由于某种原因,这使倒计时完全停止了。在这种情况下,如果“完成”为真,您可以创建一个标志变量“完成”,然后显示您的文本。我将尝试一下,看看它是否工作得更好。非常感谢。它工作得很好!不过,只有一个问题,即使在刷新网页后,它还会停留在该文本上吗?或者我必须添加另一行代码以防止重新启动倒计时?@IsmailSaraoui不,刷新后它不会保留。你必须把它保存在本地存储。好的,明白了。非常感谢。呃,所以我尝试使用localStorage使文本在刷新后保持不变,但我一定是做错了什么,因为它不起作用-它只是在一开始就阻止了倒计时。我做错什么了吗?