繁体   English   中英

在少数项目中增加延迟

[英]Adding delay in few items

我有一个小问题。 因此,我有一组div名称,我想将它们添加类半秒钟,然后按顺序将它们删除。 所以首先显示一秒钟后消失,半秒钟后消失,然后下一秒等。我遍历数组并没有真正发生://请帮我这个功能:/

 function showAndRepeat(){ for(var z=0;z<clickNext.length;z++){ console.log(colors[clickNext[z]]); setTimeout(function(){$(colors[clickNext[z]]).addClass(colorNames[clickNext[z]])},1000); setTimeout(function(){$(colors[clickNext[z]]).removeClass(colorNames[clickNext[z]])},1500); } } 

假设jQuery代码工作正常。 尝试这个:

function showAndRepeat(){
  for(var z=0;z<clickNext.length;z++){
    console.log(colors[clickNext[z]]);
    (function(zee){
        setTimeout(function(){$(colors[clickNext[zee]]).addClass(colorNames[clickNext[zee]])},1000);
        setTimeout(function(){$(colors[clickNext[zee]]).removeClass(colorNames[clickNext[zee]])},1500);    
    })(z);
  }
}

只需创建一个闭合。

for循环是同步操作,而setTimeout是异步操作。 因此,在执行setTimeout的时间之前, for循环已经运行,并且z的最新值被馈入setTimeout调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM