、既存のカルーセルをREINITするreplace.owl.carousel
を使用する必要があります。私はワイドスクリーン上だかない場合、私は保存window.load
イベントで
- 私は窓にカスタムオブジェクトを作成します(
myOO
= myOwlObject)、: 私は以下のやっていることです。私はまた、スクリプトを通していくつかのパラメータを保存するためにそれを使用して、簡単にそれらを変更することができます。
- ワイド/ナロー状態に基づいて、
carousel
を1つまたは3つの項目で初期化しています。
window.resize
イベントで、私はisWide
に保存されたものと同じ間隔(ワイド/ナロー)であるかどうかをチェックします。私は別の間隔にいるときに、カルーセルを交換し、新しい間隔をisWide
に保存します。
$(window).on('load', function(){
window.myOO = {
breakpoint: 600
isWide: $(window).width() > this.breakpoint,
options: this.isWide ? {items:3} : {items:1}
};
$(".my-gallery").owlCarousel(window.myOO.options);
})
$(window).on('resize', function(){
var shouldReinit = ($(window).width() > window.myOO.breakpoint) !== window.myOO.isWide;
if (shouldReinit) {
if ($(window).width() > window.myOO.breakpoint) {
$(".my-gallery").trigger('replace.owl.carousel', [{items: 3}]);
} else {
$(".my-gallery").trigger('replace.owl.carousel', [{items: 1}]);
}
window.myOO.isWide = $(window).width() > window.myOO.breakpoint;
}
})