【发布时间】:2023-01-09 20:56:48
【问题描述】:
我设置了一个从 20 到 0 的 setinterval。当计数器小于或等于 10 时,我希望文本变为红色(这有效)但是当它达到 0 时,我希望计数器停止减少,但它没有。我究竟做错了什么?
`let timerCount = document.querySelector('.imposters__voting span')
let counter = 20;
setInterval(function(){
if (counter > 11){
counter--;
} else if(counter <= 10){
counter--;
document.querySelector('.imposters__voting').style.color = 'red'
} else if(counter = 0){
document.querySelector('.imposters__voting').style.color = 'red'
document.querySelector('.imposters__voting').innerText = 'Voting has ended'
}
timerCount.innerText = counter
}, 1000)`
我试过 counter = 0 但它没有用
【问题讨论】:
-
1st du
if (counter > 11) { ... } else if (counter <= 10) { ... }已经有两个条件总是匹配。因此,即使是像if (counter这样正确编写的第三个子句===0) { ... }永远联系不上。因此第二名尽管 OP 可以写(反=0) 并且它是一个有效的表达式,此表达式不会将counter与零进行比较,而是将零值分配给counter。
标签: javascript html setinterval