0

スライドコンテンツにサイクルプラグインを使用しています。スライド中に前または次のボタンを複数回クリックすると、アニメーションが完了する前に別のスライドにジャンプします。

スライド中にナビゲーションボタンを無効にしようとしていますが、機能していません。

js:

$('#slider ul').cycle({
    timeout: 0,
    fx: 'scrollHorz',
    prev: '#prev',
    next: '#next',
    after: onAfter,
    onPrevNextEvent: function(isNext, zeroBasedSlideIndex, slideElement){
        $('#nav a').attr('disabled','disabled');
        if (isNext == true || isNext == false) {
            console.log('bool')
        }
    }
});
function onAfter(curr, next, opts) {
    var index = opts.currSlide;
    $('#prev')[index == 0 ? 'hide' : 'show']();
    $('#next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
}

であるonPrevNextEventかどうかを確認するためにコールバックを使用しています。この条件の前に、ナビゲーション リンクに属性を追加するテストを行いましたが、属性を追加していますが、前/次の機能を妨げていません。どうすれば無効/有効にできますか? いくつかの助けをいただければ幸いですisNextboolean

4

1 に答える 1

0

プラグインのコードでクリック動作を変更できませんか? おそらく、サイクル プラグインが初期化された直後に、伝播を防ぐために追加のイベントをスローできます。そうすることで、isNextが true の場合、クリック イベントがプラグインのアクションをトリガーするのを停止します。

何かのようなもの:

//just finished setting up the plugin
$("#prev,#next").on("click", function(e) {
    if(isNext) e.stopPropagation();
});
于 2014-12-23T20:39:40.717 に答える