我试图添加一个班级"禁用"如果滑块只显示1张幻灯片,则无法实际滑动。
我正在滑动div,而不是列表。
它只是一个基本的div:
<div class="bxslider2">
<div class="wrap">
...
</div>
</div>
以下是滑块的jquery:
$('.bxslider2').bxSlider({
mode: 'horizontal',
speed: '180',
pagerType:'full',
pager:'true',
captions: false
});
如果只有1张幻灯片,我想不显示寻呼机。
感谢您的帮助!
贾斯汀
答案 0 :(得分:17)
我遇到了同样的麻烦,这是我的解决方案:我们应该计算我们在.bxslider2块下有多少子元素
$(".bxslider2>.wrap").length
如果只有一个,则将选项设置为&#39; false&#39;否则设为&#39; true&#39;。
$('.bxslider2').bxSlider({
mode: 'horizontal',
speed: '180',
pagerType:'full',
pager: ($(".bxslider2>.wrap").length > 1) ? true: false,
captions: false
});
希望它会有所帮助。
答案 1 :(得分:1)
如果页面上有多个bxslider,这是一个解决方案。
$('.bxslider').each(function() {
var options = {
mode: 'fade',
};
if ($(this).find('li').length === 1) {
options.pager = false;
}
$(this).bxSlider(options);
});
浏览每个滑块并查找它是否只有一个li。如果是,请将pager: false
添加到传递给bxSlider
的对象。
答案 2 :(得分:0)
解决这个问题的好方法是重新加载这样的对象 并更改每个项目数量的控件:
var slideQty = $('.bxslider').bxSlider({
minSlides: 1,
maxSlides: 3,
slideWidth: 110,
slideMargin: 0,
adaptiveHeight: true,
pager: false,
moveSlides: 1,
onSlideAfter: function ($slideElement, oldIndex, newIndex) { NextSlide(oldIndex, newIndex); }
});
var count = slideQty.getSlideCount();
if (count < 7) {
slideQty.reloadSlider({
controls : false,
minSlides: 1,
maxSlides: 3,
slideWidth: 110,
slideMargin: 0,
adaptiveHeight: true,
pager: false,
moveSlides: 1,
onSlideAfter: function ($slideElement, oldIndex, newIndex) { NextSlide(oldIndex, newIndex); }
});
}
return false;
答案 3 :(得分:0)
试试这个对我有用!!
var slider = $('#slider').bxSlider();
$('.bx-next, .bx-prev, .bx-pager a').click(function(){
// time to wait (in ms)
var wait = 1000;
setTimeout(function(){
slider.startAuto();
}, wait);
});