2

現在、複数のフレックススライダーを利用するサイトを構築しています。コンセプトは、ユーザーが特定のボタンをクリックすると、押されたボタンに関連する注目のコンテンツを含む flexslider を表示するというもので、これはすべて非常に単純なものです。

私が抱えている問題は、現時点ではフレックススライダーがボタンをクリックすると起動しますが、ユーザーが別のボタンをクリックしてもスライダーはリセットされません。

ボタンをクリックするたびにスライダーをスライド0にリセットしたいと思います。プラグイン内で .stop() といくつかのコールバック機能を使用してみましたが、まだ運がありません。他の誰かがこれまでにこれに直面したことがあるかどうか疑問に思っていましたか? (そして勝った..)

footer.php のコードは、現時点ではかなり標準的な問題です。

    $('.button').click(function() {
    $('.flexslider').flexslider({ 
        controlNav: true,
        directionNav: false,
        slideToStart: 0,  
        pauseOnHover: true,  
    });
});
4

3 に答える 3

3

この質問が投稿されてから長い時間が経っていることは知っていますが、誰かの助けになるかもしれません。

私は実際に同じ問題に直面しました。いくつか突っ込んだ後、次のコードを使用して動作させることができました:

// Catch the flexslider context
var slider = $(".flexslider").data("flexslider");

// Unset the animating flag so we can move back to the first slide quickly      
slider.animating = false;

// Move to the first slide and stop the slideshow there
slider.flexAnimate(0, true, true);

最初のスライドに戻りたいが、アニメーションを停止したくない場合は、最後の行を次のように置き換えます。slider.flexAnimate(0);

メソッドはフラグslider.stop()を設定解除しないと思います。animating私の意見では、このフラグはflexAnimate()実際にスライドするかどうかを確認する関数で使用されるためです。フラグが に設定されている場合falseflexAnimate()関数は突然戻ります。

于 2014-08-15T23:47:19.650 に答える
0

' startAt: 0,
//Integer: スライダーが開始するスライド。配列表記(0=最初のスライド)」

于 2014-05-14T09:01:52.823 に答える
0

答えは start コールバック関数にあると思います。このようなことを試してください(テストされていません)

$('.button').click(function() {
   $('.flexslider').flexslider({ 
        controlNav: true,
        directionNav: false,
        slideToStart: 0,  
        pauseOnHover: true,
        start: function(slider) {
            if (slider.currentSlide != 0) {
                slider.flexAnimate(0)//move the slider to the first slide (Unless the slider is also already on the first slide);
            }
        }
   });
});
于 2012-04-16T17:27:23.157 に答える