Javascript 如何设置超时以使列表中的内容分别设置动画? window.addEventListener('scroll',(e)=>{ 让scrollPos=window.pageYOffset; 如果(滚动位置>1171){ for(let i=0;i
由于您使用的是Javascript 如何设置超时以使列表中的内容分别设置动画? window.addEventListener('scroll',(e)=>{ 让scrollPos=window.pageYOffset; 如果(滚动位置>1171){ for(let i=0;i,javascript,Javascript,由于您使用的是let,i将保持作用域为for循环本身。这意味着一个简单的setTimeout就可以了。但是,如果您使用var 对于i,您需要将setTimeout调用包装在一个中,以确保i的作用域是您的循环 使用var(老派) @关键帧fadein{ 到{ 不透明度:1; } } .box{ 不透明度:0; 背景色:红色; 显示:内联块; 宽度:100px; 高度:100px; } .box.showing{animation:1s fadein linear forwards;} 能否请您添
let
,i
将保持作用域为for
循环本身。这意味着一个简单的setTimeout
就可以了。但是,如果您使用var
对于i
,您需要将setTimeout
调用包装在一个中,以确保i
的作用域是您的循环
使用var
(老派)
@关键帧fadein{
到{
不透明度:1;
}
}
.box{
不透明度:0;
背景色:红色;
显示:内联块;
宽度:100px;
高度:100px;
}
.box.showing{animation:1s fadein linear forwards;}
能否请您添加完整代码,以便我们检查您想要的内容?您的问题和代码似乎没有任何关系。请提供您想要解决的问题/解决方案的正确描述。除非我完全离开(并浪费7分钟回答问题),OP希望错开每个艺术家
元素的动画,而不是显示
类同时为所有艺术家
元素制作动画。我认为,代码和问题的标题一起清楚地表明OP在这里的目的
window.addEventListener('scroll', (e) => {
let scrollPos = window.pageYOffset;
if(scrollPos > 1171){
for(let i=0; i<artists.length; i++){
artists[i].classList.add('showing');
}
}
});
for (var i = 0; i < boxes.length; i++) {
// We have to close over i because we have no block scope
(function(index) {
setTimeout(function() {
boxes[index].classList.add('showing')
}, (index * 500)) // .5s, 1s, etc.
})(i)
}