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)
}