Sto cercando di rimuovere lo stile e il javascript di un elemento bxslider quando la finestra del browser si riduce a una certa dimensione e applica uno stile diverso all'elenco, ma sta facendo cose strane.ridimensionamento finestra con bxslider interruzioni distrutte stile
Scalare da sotto il 502px, tutto sembra funzionante, ma quando ridiscendi il cursore scompare come dovrebbe, ma il nuovo stile è rotto. Al momento ricarico la pagina solo se scende sotto 502px, il che è semplicemente orribile.
Ecco il mio codice:
EDIT: Come richiesto, ho aggiunto il relativo codice HTML, JavaScript e CSS per un JSFiddle: http://jsfiddle.net/tYRJ2/2/. (Il CSS non è completo, ma mostra il problema.)
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
});
Qualsiasi aiuto è molto apprezzato!
te ho iniziato un [*** jsFiddle QUI ***] (http: //jsfiddle.net/SpYk3/tYRJ2/), se potessi semplicemente aggiungere il tuo HTML, salvarlo e postare il collegamento, potremmo capirlo molto più facilmente – SpYk3HH
Ora il prossimo problema, non vedo dove hai qualche impostazione di stile "secondaria". per quanto posso vedere, il cursore sta distruggendo e ricostruendo come detto sul cambiamento della dimensione della finestra. Un pensiero, se si desidera uno stile dif "non-slider" per il 'ul' quando bxslider viene distrutto, quindi inserire ul in un div nominato. Se osservi il tuo html dopo il caricamento, noterai che bxslider sposta il tuo ul all'interno dei propri div, quindi se hai un css come '#myDiv> ul ', il tuo stile di progettazione si applicherà SOLO quando il cursore è stato distrutto, quindi dandoti il tuo stile per le finestre più piccole – SpYk3HH
ooo, nm, su ulteriore reeview, vedo che bxslider NON È STATO DISTRUTTO. Non del tutto. Il css viene modificato e l'html, ma i comandi vengono ancora inviati all'elment con classe "bxslider". Questo è il caso. metti un ID sul tuo UL e usalo come selettore. 'removeClass' la classe bxslider quando si distrugge e thann readd su ricreare – SpYk3HH