您可以像这样重新加载滑块:
slider.reloadSlider();
您还可以在重新加载时添加新选项。有关更多信息,请参阅文档。
就我而言,这并没有起到作用。我需要滑块根据屏幕宽度响应加载不同的选项。不是最干净或最优雅的解决方案,但这是我所做的:
var slider = { };
var sliderActive = false;
var sliderSize = " ";
$(window).resize(function(){
if($(window).width() > 740 && sliderSize != 'large') {
if(sliderActive === true) {
slider.reloadSlider({
minSlides: 2,
maxSlides: 2,
slideWidth: 570,
slideMargin: 30,
controls: true,
pager: false,
moveSlides: 1,
auto: true,
onSliderLoad: function(){
sliderSize = 'large';
}
});
} else if(sliderActive === false) {
slider = $(".bxslider").bxSlider({
minSlides: 2,
maxSlides: 2,
slideWidth: 570,
slideMargin: 30,
controls: true,
pager: false,
moveSlides: 1,
auto: true,
onSliderLoad: function(){
sliderActive = true;
sliderSize = 'large';
}
});
}
} else if($(window).width() <= 740 && sliderSize != 'small') {
if(sliderActive === true) {
slider.reloadSlider({
controls: true,
pager: false,
auto: true,
onSliderLoad: function(){
sliderSize = 'small';
}
});
} else if(sliderActive === false) {
sliderActive = true;
slider = $('.bxslider').bxSlider({
controls: true,
pager: false,
auto: true,
onSliderLoad: function(){
sliderActive = true;
sliderSize = 'small';
}
});
}
}
});
// Call window resize to fire the function on document ready
$(window).resize();
断点是 740px。代码非常臃肿,因为您需要为 reloadSlider() 和 bxSlider() 包含两次选项。我不知道该怎么做。