我试图让图像不断淡出和淡入,以使其“闪烁”。我使用两个 while 循环来更改元素的不透明度属性。循环将不透明度更改 10%,并等待 10 毫秒。第一个循环工作正常,迭代 10 次并继续前进,但第二个循环只改变一次不透明度,然后无限迭代而不影响不透明度。有谁知道出了什么问题以及如何解决?
async function blink(){
var arrow = document.getElementById('downArrow');
arrow.style.opacity = 1;
while(window.getComputedStyle(arrow).opacity>0){
arrow.style.opacity -= 0.1;
await sleep(10);
console.log('first loop');
}
while(window.getComputedStyle(arrow).opacity<=1){
arrow.style.opacity += 0.1;
await sleep(10);
console.log('second loop');
}
blink();
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}