3 回答

TA貢獻2016條經(jīng)驗 獲得超9個贊
我強烈建議不要將setInterval()用于此簡單的工作,而應堅持使用CSS動畫,如下所示:
需要眨眼的元素應在其樣式中包括此行...
animation:Blink 2000ms linear 0s infinite none;
然后將其獨立添加到您的CSS部分中...
@keyframes Blink{from{background:white;} to{background:black;}}

TA貢獻1803條經(jīng)驗 獲得超3個贊
使用querySelectorAll和classList.toggle
還要注意,我們添加了一個CSS類來隱藏元素。toggle如果不存在該呼叫,則將添加該呼叫,如果存在,則將其刪除。
function blinktext() {
document.querySelectorAll('.announcement').forEach(e =>{
setInterval(() => {
console.log(e);
e.classList.toggle('hide');
}, 500);
});
}
// We use an event listener to only run our code once the HTML is
// loaded and ready to be read.
document.addEventListener('DOMContentLoaded', () => {
blinktext();
});
.hide {
visibility: hidden;
}
<div class="announcement rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="announcement rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="announcement rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="announcement rTableCell">
<span style="color: #99cc00;">groen</span></div>
<div class="announcement rTableCell">
<span style="color: #99cc00;">groen</span></div>

TA貢獻1735條經(jīng)驗 獲得超5個贊
使用類描述符最容易實現(xiàn)的倍數(shù)
<div id="announcement" class="rTableCell blinking">
<span style="color: #99cc00;">groen</span></div>
function blink(target){
return function(){
target.style.visibility = (target.style.visibility == 'hidden' ? '' : 'hidden');
}
}
let blinkers=document.getElementsByClassName('blinking');
for(let blinker of blinkers){
setInterval(blink(blinker), 500);
}
這樣應該可以工作(您需要返回函數(shù)結(jié)構(gòu)在方法中具有正確的引用)
添加回答
舉報