http://codepen.io/scabbyjoe/pen/evJWwX?editors=1011
order.forEach(function(element) {
$(element).addClass("pressed");
console.log("Added to " + element);
timeoutID = window.setTimeout(function() {
$(element).removeClass("pressed");
console.log("Removed from " + element);
}, 2000);
});
我在forEach循环中使用setTimeout对我的程序流感到难过。
我期待程序,在循环的单次迭代中添加类,等待,然后删除该类,然后进入下一次迭代。
然而,据我所知,程序是添加类,移动到下一个迭代,添加该类等,然后一旦它完全迭代,移动到设置为延迟的删除类函数。
答案 0 :(得分:0)
基本上你的代码是添加类"按下"每个块同时,然后删除所有类"按下"在2000毫秒同时。
如果您希望代码运行以便从一个类移动到另一个类,则必须使用jQuery deferred objects