したがって、ページに5つのdivが連続しています。jQuery Waypointsを使用してクラスを最初のクラスに追加するとis-active
、その外観が変わります。次に、次の遅延に追加するときに 1 秒などの遅延が発生し、その 1 秒後に次の遅延が発生するようにします。これが私のコードです:
<div class="five-step-waypoint"></div>
<div class="steps">
<div class="step">Step 1</div>
<div class="step">Step 2</div>
<div class="step">Step 3</div>
<div class="step">Step 4</div>
<div class="step">Step 5</div>
</div>
そして私のjQuery:
$(document).ready(function() {
$.fn.wait = function( ms, callback ) {
return this.each(function() {
window.setTimeout((function( self ) {
return function() {
callback.call( self );
}
}( this )), ms );
});
};
$('.five-step-waypoint').waypoint(function() {
$(".step:first-child").addClass("is-active");
$.each($(".step").wait(1000, function() {
$(this).addClass("is-active");
}));
}, {
triggerOnce: true
});
});
注: hereから「待機」機能を取得しました。より良いことができる場合は、自由に変更するか、完全に削除してください。
私が抱えている問題は、最初のもの.step
が.is-active
追加され、1 秒の遅延が観察されますが.is-active
、他の 4.step
秒に一度に追加されることです。.is-active
1つずつ追加する必要があります。また、ループすることができれば(それぞれ.step
が を持っている場合.is-active
、すべての をクリア.is-active
して最初に戻る)、それは素晴らしいことです!
誰かが私を助けてくれてありがとう!また、テスト用のjsfiddleも作成しました。簡単にするために、ウェイポイントのものは省略しました。