0

したがって、ページに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-active1つずつ追加する必要があります。また、ループすることができれば(それぞれ.stepが を持っている場合.is-active、すべての をクリア.is-activeして最初に戻る)、それは素晴らしいことです!

誰かが私を助けてくれてありがとう!また、テスト用のjsfiddleも作成しました。簡単にするために、ウェイポイントのものは省略しました。

4

1 に答える 1