私の質問に言い換える前に私を理解できなかった人のために。私は5つのdivのIDに対応する変数の配列を持っています。私は各divを色々に色を数秒間変化させようとしていますが、次のdivの色が変わる前に色が元に戻ります(信号機のライトやSimonのゲームに似ています)。私は現在、forループを使用して各配列アイテムを反復処理しています。私はこの効果を達成するために、jQueryの.addClass()とsetClass()を使用しています。ここに私のコードは次のとおりです。配列から要素を順番に追加して削除する
//CSS
.color{background-color: red;}
//JavaScript
var div1 = document.getElementById('divID');
etc...
var total = [div1, div2, div3, div4, div5];
for(var n=0; n<counter; n++){
$(total[n]).addClass("color");
setTimeout(function(){
$(total[n]).removeClass("color");
}, 3000);
}
UPDATE
私は解決策を見つけました。私は同じ問題を抱えている人のためにそれを掲示しています。私は.addClass()
と.removeClass()
で一度にクラス1を受け、それぞれのdivの効果を作成するためのjQuery .delay()
と.queue()
を使用しました。皆さん、ありがとうございました。
for(var n=0; n<counter; n++){
flash(n);
}
function flash(num){
var int = num + 1;
$(total[num]).delay(2000 * int).queue(function(){
$(this).addClass("light").delay(1000).queue(function(){
$(this).removeClass("light");
});
$(this).dequeue();
});
}
あなたのコードのルックス好き? –
ようこそスタックオーバーフロー。 Minimal、Complete、Verifiableの質問の作成方法の詳細については、[こちらを読む](http://stackoverflow.com/help/mcve)を参照してください。 – Toby