ブラウザー ウィンドウが特定のサイズに縮小し、別のスタイルをリストに適用するときに、 bxslider要素のスタイリングと JavaScript を削除しようとしていますが、奇妙なことをしています。
502px 未満からスケールアップすると、すべてが正常に表示され、正常に動作しますが、再度スケールダウンすると、スライダーは本来のように消えますが、新しいスタイルは壊れています。現時点では、502px を下回った場合にページをリロードするだけですが、これは恐ろしいことです。
これが私のコードです:
編集: 要求に応じて、関連する HTML、javascript、および CSS を JSFiddle: http://jsfiddle.net/tYRJ2/2/に追加しました。(CSS は完全ではありませんが、問題を示しています。)
var sliderActive = false;
var slider;
function createSlider() {
slider = jQuery('.bxslider').bxSlider({
adaptiveHeight: false,
swipeThreshold: 40,
controls: true,
auto: true,
pause: 6000,
autoHover: true,
});
return true;
}
//create slider if new page is wide
jQuery(document).ready(function(){
if (window.innerWidth > 502) {
sliderActive = createSlider();
}
});
//create/destroy slider based on width
jQuery(window).resize(function () {
//if wide and no slider, create slider
if (window.innerWidth > 502 && sliderActive == false) {
sliderActive = createSlider();
}
//else if narrow and active slider, destroy slider
else if (window.innerWidth <= 502 && sliderActive == true){
slider.destroySlider();
sliderActive = false;
location.reload(); //fudgey
}
//else if wide and active slider, or narrow and no slider, do nothing
});
どんな助けでも大歓迎です!