2

我可以把它写成一个循环吗?

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

我正在使用bxSlider并且要使用多个画廊,您需要调用滑块并将其关联到每个项目。我有时每页有 200 多个产品。

4

5 回答 5

10

您可以使用属性 starts-with 选择器来选择 ID 以“slideItems”开头的所有元素:

$('[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 回答
0

我建议为此提供类名并使用类名访问它。

//slideritem is class name which you give to all which has to slider div

$(function()
{

    $('.slideritem').bxSlider();
});
于 2013-04-02T05:20:25.770 回答