1

カルーセルで現在のドット ページネーション ボタンを強調表示したいので、使用されている特定のクラスにクラスを追加しようとしていますが、何らかの理由でこれが機能せず、問題なく非アクティブなクラスが追加されますが、アクティブなクラスは追加されません。 iを認識していないようです。私はjsが初めてですが、明らかな何かが欠けていますか?

jQuery(document).ready(function() {
jQuery('#right-carousel').jcarousel({
    start: 1, // Configuration goes here
    wrap: "circular",
    scroll: 1,
    auto:3,
    vertical:true,

    itemFirstInCallback: {
    onBeforeAnimation: function(carousel, item, index, action, c, o, i, s ) {
        if (carousel_2) {
            carousel_2[action]();
        }
        i = (i - 1) % $('#right-carousel li').size();
        jQuery('.jcarousel-pagination a').addClass('inactive');
            jQuery('.jcarousel-pagination a:eq('+i+')').removeClass('inactive').addClass('active');


    jQuery('.jcarousel-pagination a').bind('click', function() {
    carousel.scroll(jQuery.jcarousel.intval(jQuery(this).attr('id')));
    return false;
        }); 

            }
        }

    });

});

もう1つ詳細を追加すると、関数内で宣言してもiが定義されていないことが主な問題のようです。

4

1 に答える 1

1

このコードは、ページネーション ドット (.jcarousel-pagination) を jcarousel コンテナーに配置すると機能するはずです。複数のカルーセルでも動作するはずです。

jQuery(document).ready(function() {

function mycarousel_initCallback(carousel, state) {
    jQuery(carousel.container).find('.jcarousel-pagination a').bind('click', function() {
      carousel.scroll(parseInt(jQuery(this).attr('id')));
      return false;
    });

    jQuery(carousel.container).find('#mycarousel-next').bind('click', function() {
      carousel.next();
      return false;
    });

    jQuery(carousel.container).find('#mycarousel-prev').bind('click', function() {
      carousel.prev();
      return false;
    });
}

function mycarousel_visibleCallback(carousel, item, index, state){
  var dot = jQuery(carousel.container).find(".jcarousel-pagination a#" + index);
  dot.siblings().removeClass("active");
  dot.addClass("active");
}


jQuery('#right-carousel').jcarousel({
    start: 1, // Configuration goes here
    wrap: "circular",
    scroll: 1,
    auto:3,
    vertical:true,
    initCallback: mycarousel_initCallback,
    itemVisibleInCallback: mycarousel_visibleCallback
    });

});
于 2013-06-15T03:25:17.217 に答える