![](/img/trans.png)
[英]How do I add a delay between each iteration of a for of or forEach loop over Set elements?
[英]Delay between each iteration of foreach loop?
所以我正在制作一个西蒙说游戏。 此功能显示当前序列。 它现在的问题在于它并没有真正顺利进行,它可以同时完成所有事情。 说颜色是“蓝色”,“红色”和“黄色,它们会同时发生而不是按顺序发生。我该如何解决这个问题?
var displaySequence = function(){
compSequence.forEach(function(color){
$("#" + color).fadeTo(300, 0.5).fadeTo(300, 1.0);
})
}
一个没有jQuery的解决方案。 您将需要使用数组索引来给出每次调用之间等待的假象,但是每个函数已经运行。 会发生什么:1秒内显示颜色1秒,2秒内显示颜色2 ...
var displaySequence = function(){
compSequence.forEach(function(color, index){
setTimeout(function(){
$("#" + color).fadeTo(300, 0.5).fadeTo(300, 1.0);
},
1000 * index);
})
}
调整1000 *索引以更改延迟。
我使用了jQuery 延迟函数
这是一个javascript。
$(document).ready(function(){
var compSequence = new Array("red", "blue", "yellow");
var displaySequence = function() {
$.each(compSequence, function (i, color) {
// add delay
$("#" + color).delay(i * 1000).fadeTo(300, 0).fadeTo(300, 1.0);
});
}
displaySequence();
});
这是一个DEMO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.