Я пытаюсь удалить стиль и javascript элемента bxslider, когда окно браузера сжимается до определенного размера, и применяю другой стиль к списку , но он делает странные вещи.
При увеличении ниже 502 пикселей все выглядит и работает нормально, но при повторном уменьшении слайдер исчезает, как и должен, но новый стиль нарушается. На данный момент я просто перезагружаю страницу, если она становится меньше 502 пикселей, что просто ужасно.
Вот мой код:
РЕДАКТИРОВАТЬ: В соответствии с запросом я добавил соответствующий 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
});
Любая помощь высоко ценится!
ul
, когда bxslider уничтожался, поместите ul в именованный div. Если вы посмотрите на свой html после загрузки, вы заметите, что bxslider перемещает ваш ul внутри своих собственных div, поэтому, если бы у вас был какой-то css, например#myDiv > ul
, тогда ваш стиль ul применялся бы ТОЛЬКО при уничтожении ползунка, что дает вам ваш собственный стиль для небольших окон - person SpYk3HH   schedule 29.04.2013removeClass
класс bxslider, когда вы уничтожаете, а затем читаете при воссоздании - person SpYk3HH   schedule 29.04.2013