低解像度でウェブサイトにiDangerous Swiperを使用しています。ここに私がそれを呼んでいる方法があります:
var resolution = 670;
if ($(window).width() < resolution) {
var mySwiper = $('.swiper-container').swiper({
mode:'horizontal',
loop: true,
grabCursor: true,
paginationClickable: true
});
そのため、デスクトップ ブラウザーでアクセスすると、スワイパーは呼び出されません。私がしたいのは、ユーザーがウィンドウのサイズを より小さいサイズに変更した場合は「オンにする」か、ユーザーresolution
が小さなウィンドウサイズでアクセスしてから より大きいサイズに変更した場合は破棄することですresolution
。私はこれを試しましたが、うまくいきませんでした:
$(window).resize(function(){
if ($(window).width() < resolution) {
if(typeof(mySwiper) === "undefined" ) {
var mySwiper = $('.swiper-container').swiper({
mode:'horizontal',
loop: true,
grabCursor: true,
paginationClickable: true
});
}
} else {
if (typeof(mySwiper) !== "undefined" ) {
mySwiper.destroy();
}
}
});
2 つの望ましくないことが起こります。
- ユーザーの解像度が小さく、スワイパーを呼び出す解像度にサイズ変更すると、スワイパーが再起動します。
- ユーザーが小さい解像度を使用していて、大きい解像度にサイズ変更した場合、それは破棄されません。
私の問題はtypeof
. 変数が次のように呼び出されたときにどのように機能するかはよくわかりません: $('.swiper-container').swiper()
.
スワイパーを「呼び出し解除」する方法と、既に呼び出されている場合に呼び出さない方法を教えてください。