gpt4 book ai didi

javascript - 警告框 javascript 不会关闭,因为 window.onload

转载 作者:行者123 更新时间:2023-11-30 10:59:48 25 4
gpt4 key购买 nike

我是 Javascript 的新手,现在正在尝试倒数计时器。每次倒计时结束,页面弹出提示框:倒计时结束。但是每次我单击“确定”时,警告框都不会关闭。我认为它与 windows.onload 函数有关,但我不知道如何修复它。

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 = 0;
alert('countdown finished');
document.getElementById('demo').innerHTML = 'EXPIRED';
}
}, 1000);
}

window.onload = function() {
var fiveMinutes = 60 * 0.1,
//display = document.querySelector('#time');
display = document.getElementById('demo');
startTimer(fiveMinutes, display);
};
<h1>conutdown</h1>
<p id="demo"></p>
<!-- <div>Registration closes in <span id="time">05:00</span> minutes!</div> -->

最佳答案

您必须使用 clearInterval()

清除间隔

<html lang="en">
<head>
<meta charset="UTF-8" />
<title>countdown</title>
</head>

<body>
<h1>countdown</h1>
<p id="demo"></p>
<!-- <div>Registration closes in <span id="time">05:00</span> minutes!</div> -->

<script>

function startTimer(duration, display) {
var timer = duration,
minutes,
seconds;

var intrvl = 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 = 0;
alert('countdown finished');
document.getElementById('demo').innerHTML = 'EXPIRED';
clearInterval(intrvl); // Clears interval
}
}, 1000);
}

window.onload = function() {
var fiveMinutes = 60 * 0.1,
//display = document.querySelector('#time');
display = document.getElementById('demo');
startTimer(fiveMinutes, display);
};

</script>
</body>
</html>

关于javascript - 警告框 javascript 不会关闭,因为 window.onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58317347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com