[英]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.