1

Hay Guys、ギャラリーにCycleプラグインを使用しています。プラグインには、画像が表示された後に実行できる機能があります

prevNextClick: function(isNext, zeroBasedSlideIndex, slideElement){
    SlideIndex = zeroBasedSlideIndex + 1;
    $(".count .c").empty().append(SlideIndex);
},
after: function(currSlideElement, nextSlideElement, options, forwardFlag){
    console.log(currSlideElement);
}

prevNextClick関数には変数zeroBasedSlideIndexがあり、表示されている画像を判別しますが、次の関数は表示しません。要素のインデックスを取得して、HTMLで表示できるようにします。

何か案は?

4

2 に答える 2

1

options.nextSlideを使用できます:

after: function(currSlideElement, nextSlideElement, options, forwardFlag){
    $(".count .c").empty().append(options.nextSlide);
}
于 2010-02-15T14:54:48.870 に答える
0

jQueryの「.index()」関数を使用すると、いつでも要素のインデックスを取得できます。したがって、この場合、次のようにして現在のインデックスを取得できます。

$(currSlideElement).index();

または、次のようにして次の要素のインデックスを取得します。

$(nextSlideElement).index();

過度のDOMトラバーサルを回避するために、インデックスが「オプション」の一部として返されると便利ですが、それは開発者への注意です。

更新:これを読んでいて、適切な「オプション」が存在することを発見したときにコーディングしているので、自分自身を修正します。

options.currSlide;
options.nextSlide;
options.slideCount;

このカウントデモのソースを表示したときにこれを発見しました:http: //jquery.malsup.com/cycle/count.html

とはいえ、どちらのオプションを使用しても交換できないようです。私が現在取り組んでいるコードの場合、「$(currSlideElement).index()」と「$(nextSlideElement).index()」を使用すると、「before」コールバックのニーズに合わせて機能します。「options.currSlide」および「options.nextSlide」コンテキストでは期待どおりに機能しません。コンテキストとニーズに基づいて実験します。

于 2011-05-21T16:12:18.933 に答える