0

スクリプト: jQuery サイクル スライダー: http://jquery.malsup.com/cycle/

次のスライドが表示される直前に、次のコードを使用して、スライダー サムネイル コンテナーを「130px」だけ左に移動しています。最後のスライドに到達すると、余白は「0px」にリセットされます。これはうまく機能しますが、コンテナーは 3 番目のスライドまで移動しません。

これは私が使用しているコードです:

function onBefore(currElement, nextElement, opts, isFoward) {
    var currentslide = opts.currSlide + 1; 
    if(currentslide == opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '0'});
    } else if(currentslide > 1 && currentslide != opts.slideCount) {
        jQuery(".slider-nav").animate({marginLeft: '-=133'});
    }           
}

2 番目のスライドが表示されたら、どうすればシフトできますか。注: 上記のコードの "> 1" を "> 0" に置き換えると、ページが読み込まれるとすぐにコンテナーが移動します。

4

1 に答える 1

0

この関数が呼び出されるコンテキストがわかりません。しかし、私はあなたが次のコードが欲しいと思います:

function onBefore(currElement, nextElement, opts, isFoward) {
      if(opts.currSlide == opts.slideCount) {
         jQuery(".slider-nav").animate({marginLeft: '0'});
     } else { 
         jQuery(".slider-nav").animate({marginLeft: '-=133'});
     }
}

それが機能しない場合は、最初のスライドが(slideCount = 1)ではなく(slideCount = 0)である可能性があります。その場合は、IFテストを次のように変更します。

      if(opts.currSlide == (opts.slideCount - 1)) {

よろしくニール

于 2011-02-10T13:22:24.417 に答える