【发布时间】:2019-11-24 00:15:30
【问题描述】:
我正在尝试使图像不断淡出和淡入,以使其“闪烁”。我使用两个 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));
}
【问题讨论】:
-
你不需要 JS。您可以简单地使用 css - stackoverflow.com/questions/33667143/…
-
谢谢,这非常有用,为了简单起见,我可能最终会使用它。我仍然想知道为什么我的功能无法正常工作。
标签: javascript css