0

このスクリプトを少し修正する必要があります。

  //Changed this
    $('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass('active');
      //To this
    $('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass(function (p) {return 'active-'+ (p+1);});

    $('.nivo-controlNav a', slider).live('click', function(){
        if(vars.running) return false;
        if($(this).hasClass('active')) return false;
        clearInterval(timer);
        timer = '';
        slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
        vars.currentSlide = $(this).attr('rel') - 1;
        nivoRun(slider, kids, settings, 'control');
    });
}

これは-(現在のカウント)EG active-1、active-2ectを追加します。

問題は、クラスの削除を修正しようとすると、それを機能させることができないように見えることです。

申し訳ありませんが、jQueryはかなり新しいので、どんな助けでも素晴らしいでしょう。

どうもありがとう

- - 編集 - -

最初のアクティブリンクが正常に機能しています

$('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass(function (p) {return 'active-'+ (p+1);});

そのちょうどこれ

if($(this).hasClass('active')) return false;

クラスがアクティブになっているため、明らかにクラスを削除していません-1 ect ...クラスを削除できるかどうか疑問に思っていますか?

4

1 に答える 1

0

その背後にある理由は、スクリプトのさまざまな部分と CSS でクラス「アクティブ」を参照しているためです。

試す:

$('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass(function (p) {return 'active active-'+ (p+1);});

アクティブなクラスは維持されますが、アクティブな番号も追加されます。スライドを何度も繰り返すと、引き続きアクティブ番号が追加されるため、要素に多くのアクティブ番号クラスが割り当てられ始める可能性があることに注意してください。

アクティブなアイテムに番号を追加する理由はありますか? アクティブな数値を 0 から非常に大きな数値までサポートするには、css または JS を作成する必要があります。

于 2011-03-23T19:59:13.593 に答える