私はdiv要素のセットがあります。
<div class="alert-container">
<div class="alert">alert 1 text</div>
<div class="alert">alert 2 text</div>
<div class="alert">alert 3 text</div>
</div>
私は次のようにそれらを一つ一つをアニメーション化する:
- 警告1 slideInDown>を3秒を待つ>警告1 slideOutDown>
- 警告2 slideInDown>待つ3S>アラート2 slideOutDown>
- 警告3 slideInDown>待つ3S>警告3 slideOutDown> [1]から
- リピート
私のJSの現在の状態がこのようである:
$('.alert-container .alert').each(function(index) {
$(this).addClass('animated slideInDown').show().one(animationEnd, function(){
$(this).removeClass('animated slideInDown').addClass('animated slideOutDown').one(animationEnd, function(){
$(this).removeClass('animated slideOutDown').hide();
});
});
});
追加されたクラスで見ることができるように私は、animate.cssを使用していますが、これは、現在の結果を持っています同時に3つすべてのアニメーションを.alert
divにすることができますこれを修正して1つずつアニメーション化し、無限に繰り返す必要があります。
でも他のSOの記事を確認した後、私は私が望む結果を達成するために、setInterval
と$.each
を使用する場所のまわりで私の頭を包むのに苦労しています、と私はindex
などに基づいてinitialDelay
変数を使用する必要があるかどうかを
助けてください。どうもありがとう。
おかげで、vijayP。それが私の必要なものです。 –
もう一度お返事いただき、ありがとうございます。vijayP - 本質的に解決策であり、1つの問題を除き、私が望むものをうまく実装しました。ループは、2番目以降の再生スルーで配列の最初のアイテムを2回反復しています。理由を理解できません: 0> 1> 2> 0> 0> 1> 2> 0> 0> 1>など... これはなぜ起こるのでしょうか。ループは私によく見える。下の私のコード。 –
私の前のコメントは無視してください。 if文の2番目の部分にはカウンタのインクリメントはなかった(count ++)。 –