資力
プラグインとしてRoyalSliderを使用しています。ドキュメントと APIへのクイック リンクは次のとおりです。
私のサイトでは、スライダーはheight: 100%; width: 100%
フルスクリーン スライダーとして機能します。
コンテンツ構造
私のサイトの構造は非常に単純です。カバーとして使用するスライドがあり、それら.cover
を と呼びましょう。それぞれのスライドに、より多くの情報を含むスライドが続きます。それらを呼びましょう.sub
。
Content Cover Nr. 1
Subslide Content Nr. 1
Content Cover Nr. 2
Subslide Content Nr. 2
Content Cover Nr. 3
Subslide Content Nr. 3
Content Cover Nr. 4
Subslide Content Nr. 4
分かりやすい場合は、ここでライブサイトを確認できます。
サブ スライドを追加する関数内で、右側にスクロール アップ、スクロール ダウン、および現在のスライドを閉じる 3 つのボタンを作成します。下にスクロールするとうまくいきます。(こちらのmain.jsファイルの 177 行目を確認してください)
問題
ブラウザーは、各ボタンを独自の親にバインドするのではなく、選択したすべての$(p.sl_button)
ボタンを同じサブスライドにバインドします。
説明するのは難しく、試すのは簡単です。たとえば、次の場合:
- サブスライド番号 5 を開く
- サブスライド番号 2 を開く
- サブスライド番号 5 までスクロールします
- 閉じるボタン(赤い背景のX)をクリックします
システムが「壊れる」。サブスライド番号 5 を閉じる代わりに、サブスライド番号 2 を閉じます (前回、上記の関数が呼び出されました。
この問題を解決するにはどうすればよいですか?
サブスライドのボタンをバインドするために使用するコード:
// Append Slides by ID and Database
function appendIt(num_id) {
var $parid = num_id.parents('.rsContent').attr('id');
var $sub_id = sliderInstance.currSlideId + 1;
// get current slide id & increase by 1
// append html slide
sliderInstance.appendSlide(eval($parid), $sub_id);
sliderInstance.next();
// close button on sub slides
$('.scrolldown').on('click', function(){
sliderInstance.next();
});
// Scroll Slide Up
$('.scrollup').on('click', function(){
sliderInstance.prev();
});
// Close Subslide
$('.close').on('click', function(){
$('#'+$parid+' p.sl_button').addClass('in');
sliderInstance.prev();
setTimeout( function(){sliderInstance.removeSlide($sub_id);} , 600 );
});
};
私のバグを再現するためにさらに情報が必要な場合は、お気軽にお問い合わせください。このトピックに関する助けやヒントをいただければ幸いです。私の問題を掘り下げてくれたみんなに前もって感謝します。