2

これをループに書き込むことはできますか?

$(document).ready(function(){
    $('#slideItems1').bxSlider();
    $('#slideItems2').bxSlider();
    $('#slideItems3').bxSlider();
    $('#slideItems4').bxSlider();
    $('#slideItems5').bxSlider();
});

私はbxSliderを使用しています。複数のギャラリーを使用するには、スライダーを呼び出して各アイテムに関連付ける必要があります。1ページに200以上の商品があります。

4

5 に答える 5

10

属性starts- withselectorを使用して、「slideItems」で始まるIDを持つすべての要素を選択できます。

$('[id^="slideItems"]').bxSlider();

これは、jQueryメソッドの大部分に当てはまります(ほとんどのプラグインでも許可されます)。このメソッドは、一致したセット内のすべての要素に適用されるため、ループは必要ありません。使用しているプラ​​グインがこの機能をソースにどのように実装しているかを確認できます(の呼び出しにeach注意してください。またthis、一致した要素のセットを含むjQueryオブジェクトを参照していることに注意してください)。

this.each(function(){
    // make sure the element has children
    if($(this).children().length > 0){
        base.initShow();
    }
});
于 2012-09-20T14:25:33.067 に答える
6

すべてのスライドアイテムにクラスを与えてから、$('.slideItem').bxSlider();

于 2012-09-20T14:25:51.230 に答える
3

すべての要素にクラスを与え、そのクラスを使用してそれらを選択します。

$('.slideItems').bxSlider();
于 2012-09-20T14:25:56.993 に答える
2

短いが最適ではない書き換えは次のようになります(スライドアイテムのリストが修正されている場合)

$(function(){
    $('#slideItems1, #slideItems2, #slideItems3, #slideItems4, #slideItems5').bxSlider();
});

ただし、単にすべてのクラスを提供することを強くお勧めします。言っslideritemてやる

$(function(){
    $('.slideritem').bxSlider();
});
于 2012-09-20T14:27:14.333 に答える