私はHTML5バナーを作成しており、3つのオーバーラップするバナーをループする必要があります。JQueryでeach()を3回ループする方法
var currentDelay; currentDelay = 0;
var pastItem; pastItem = "";
$(".state").each(function() {
$(this).delay(currentDelay).fadeIn();
$(this).prev().delay(3000).fadeOut();
currentDelay += 3000;
});
それは動作しますが、一度だけ動作します:
スクリプト私は現在、このようになりますを使用しています。 .stateは各バナーのラッピングクラスです。それらはお互いの上に配置され、互いにやりとりする必要があります。
HTML:
<div class="state">
<img src="images/img-1.jpg" alt="Last minute ski holidays from £299pp" />
<div class="message"><p>Last minute<br />ski holidays from £299<span>pp</span></p></div>
</div>
<div class="state">
<img src="images/img-2.jpg" alt="Enjoy free skiing guide & coaching" />
<div class="message blue"><p>Enjoy free<br />skiing guide<br />& coaching</p></div>
</div>
<div class="state">
<img src="images/img-3.jpg" alt="Last minute ski holidays from £299pp" />
<div class="message grey"><p>Limited availability<br /><span class="sub-mes">Don't miss out</span></p></div>
<p class="call-to-action">Find out more</p>
</div>
は、私はその後、ちょうど最後のフレームで停止して、3回のラウンドループすることができます方法はありますか?最後のバナーは、最初のフレームにフェードバックしてシームレスに見える必要があります。この上でいくつかの助けのための
ビッグ感謝:)ここ
乾杯
ロブ
「each」と「delay」の代わりにsetIntervalを使用します。変数をインクリメントし、必要なループ量に達した後に間隔をクリアします。 – evolutionxbox
こんにちは...これは私が最初にやっていたことですが、それを読むのは正しい方法ではありませんか? – RobJShillito
「正しい方法」ではないのはなぜですか?変数にsetIntervalを格納し、完了したらそれをクリアする限り、それは問題ありません。 – evolutionxbox