カルーセルの「前」および「次」リンクに説明を割り当てるスクリプトを作成しようとしています。説明は、現在のスライドの数値に基づいてカルーセル アイテム ID 属性から読み取る必要があります (カルーセル API を介してアクセスできます - JS コードの最初の行を参照してください - 1 から始まるカルーセル アイテムの数値を返します)
HTML:
<div id="carousel-wrapper" class="content-promo carousel-wrapper>
<div class='wrapper'>
<div id='features' class=' ccm-block-styles'>
<div id='slide-1' class='carousel-slide'>
<!-- SOME CONTENT -->
</div>
</div>
<div id='lifestyle' class=' ccm-block-styles'>
<div id='slide-2' class='carousel-slide'>
<!-- SOME CONTENT -->
</div>
</div>
<div id='food-&-drink' class=' ccm-block-styles'>
<div id='slide-3' class='carousel-slide'>
<!-- SOME CONTENT -->
</div>
</div>
</div> <!-- End of .wrapper -->
</div> <!-- End of #carousel-wrapper -->
JS:
currentslide = $( ".carousel-wrapper" ).rcarousel( "getCurrentPage" );
prevslide = currentslide - 2; // as eq() counts from 0
prevslideidtext = $(".carousel-slide").eq( prevslide ).parent().attr( "id" );
nextslide = currentslide;
nextslideidtext = $(".carousel-slide").eq( nextslide ).parent().attr( "id" );
残念ながらprevslideidtext
、前のスライドの親の ID を返す代わりに、DIV は現在のスライドの親の ID を返しnextslideidtext
ますundefined
。
結果の例 (最初のスライドが現在のスライドの場合):
currentslide = 1
prevslide = -1
nextslide = 1
prevslideidtext = features
nextslideidtext = undefined
クラスには 6 つの DIV がありますcarousel-slide
(上記の HTML コードには 3 つだけが示されています) が、上記の JS スクリプトは 1 つしかなかったように動作します。
私が間違っていることは何ですか?
私はそれを使用することを主張しませんeq();
.私が必要とする効果を達成するための明確で簡単な方法であるように思えただけです.
(eq() に渡されたインデックスが範囲外の場合、eq() は新しい空のアイテムを作成することを認識しています。それを整理するつもりでした - 最後のスライド - 後で)
ありがとう