我已经开始学习 JavaScript,我想尝试一个简单的倒数计时器,但我想不通。
function countdown() {
var count1 = 10;
while (count1 >= 0) {
setTimeout(function() {
document.getElementById("main").innerHTML = count1;
}, 1000);
count1--;
}
}
<p id="main" onload="countdown()"></p>
页面刚刚停止/挂起。有什么问题吗?
最佳答案
对定时器使用 setInterval,然后在倒计时到 0 时清除它。确保使用立即调用的匿名函数或在定义时立即执行命名函数。否则您的功能将不会执行,因此您没有计时器。
function countdown() {
var count1 = 10;
var myTimer = setInterval(function() {
document.getElementById("main").innerHTML = count1;
count1--;
if (count1 == 0) {
clearInterval(myTimer);
}
}, 1000);
}
countdown();
<div id="main"></div>
关于javascript - javascript中的setTimeout打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42219172/