2

jQuery Cycle プラグインのオプションを使用してbefore:、ユーザーがスライドショーで左または右に移動しているかどうかを判断しています。それに応じてアニメーション化したいと思います (scrollLeft、scrollRight)。

残念ながら、実行中にプラグインのオプション (トランジション効果) を変更する方法が見つかりません。

何か案は?

4

2 に答える 2

5

これがあなたが望む効果であるように思えます: http://jsfiddle.net/zvVcD/

その場合は、「scrollHorz」効果を使用して、次のように前と次のトリガーを定義するだけです。

$('#s2').cycle({
    fx: 'scrollHorz',
    speed: 'fast',
    timeout: 0,
    next: '#next2',
    prev: '#prev2'
});
于 2010-09-10T21:57:31.253 に答える
4

より一般的なアプローチは次のとおりです。

var $cycler = $( ".cycler" ),
    prev = function() { $cycler.cycle( prevIndex, "scrollRight" ); },
    next = function() { $cycler.cycle( nextIndex, "scrollLeft" ); };

    $cycler.cycle({
                     fx:     'scrollLeft',
                     after: function(currSlideElement, nextSlideElement, options) {
                             slideIndex = options.currSlide;
                             nextIndex = slideIndex + 1;
                             prevIndex = slideIndex -1;

                             if (slideIndex == options.slideCount-1) {
                                 nextIndex = 0;
                             }

                             if (slideIndex == 0) {
                                 prevIndex = options.slideCount-1;
                             }
                         }
                 });

    $( ".prev" ).bind( "click", prev );
    $( ".next" ).bind( "click", next );

scrollLeft好きなように変更できscrollRightます。前のボタン、次のボタン、およびサイクラー コンテナーにそれぞれ.prev.nextおよびクラスを使用していることに注意してください。.cycler

于 2011-09-19T13:34:37.627 に答える