我想倒数一个计数器。但是,它总是在以后开始一个数字。我知道问题所在,但找不到解决方案。
function countStart() {
const countdown = setInterval(() => {
time -= 1;
document.getElementById('counter').textContent = time;
if (time < 1) {
clearInterval(countdown);
}
}, 1000);
}
如果我从10开始倒数,如果从9开始倒数,该如何更改?
答案 0 :(得分:1)
在显示它之前,您正在减小“时间”变量。因此,如果您的“时间”变量最初的值为10,则在将其设置为元素的textContent(并因此显示它)之前,由于出现了“时间-= 1”语句,因此在显示之前它会减少为9。 / p>
在将其“时间”变量设置为计数器元素的textContent后,尝试减少它。
function countStart() {
const countdown = setInterval(() => {
document.getElementById('counter').textContent = time;
time -= 1;
if (time < 1) {
clearInterval(countdown);
}
}, 1000);
}
答案 1 :(得分:0)
您只需将time-=1
放在更改DOM
的行下方
function countStart(time) {
const countdown = setInterval(() => {
//document.getElementById('counter').textContent = time;
console.log(time)
time -= 1;
if (time < 1) {
clearInterval(countdown);
}
}, 1000);
}
只是将dom操作更改为console.log