I'm trying to remove the style and javascript of the bxslider element when the browser window shrinks to a certain size and applies a different style to the list, but it does strange things.
Scaling from below below 502px, everything looks and works fine, but when you decrease back, the slider disappears, as it should, but the new style does not work. At the moment, I'm just reloading the page if it is less than 502 pixels, which is just awful.
Here is my code:
EDIT: As requested, I added the appropriate HTML, javascript and CSS in JSFiddle: http://jsfiddle.net/tYRJ2/2/ . (CSS is not complete, but it shows a problem.)
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 });
Any help is much appreciated!
source share