我试图改变数组中每个元素的不透明度,但每个元素之间有一点延迟。我已经尝试了下面简化代码段的一系列变体,但每次都要么一次性更改,或者没有任何变化。什么是这段代码的正确语法?
for (let i = 0; i < testArray.length; i++) {
setTimeout(function() {testArray[i].style.opacity = ".5"}, 500);
}
答案 0 :(得分:2)
由于您使用let
异步性不是问题,而只是时间问题。您只需要更改
setTimeout(function() {testArray[i].style.opacity = ".5"}, 500);
要
setTimeout(function() {testArray[i].style.opacity = ".5"}, 500*(i+1));
这将为500 ms的增加量设置项目的计时器,如500,1000,1500等等
答案 1 :(得分:0)
尝试使用(isAfter(x) or isEquals(x)) == !isBefore(x)
(isBefore(x) or isEquals(x)) == !isAfter(x)
,以防它与setInterval
不兼容,如下所示:
setTimeout
答案 2 :(得分:0)
你可以使用$('').slideUp(2000);
方法在我使用过的两个元素之间延迟几次。它工作正常