次のようにスライダーをリロードできます。
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() の両方にオプションを 2 回含める必要があるため、コードはかなり肥大化しています。他にどうすればいいのかわかりません。