Mam następujący kod, który działa prawidłowo, gdy rozmiar ekranu jest 770px
i poniżej (jak określono przez pułapki):usunąć/dodać klas CSS na zerwaniu z matchmedia.js
var handleMatchMedia = function (mediaQuery) {
if (mediaQuery.matches) {
$j(".view-all a").removeClass("button");
$j(".view-all").removeClass("view-all");
} else {
$j(".view-all a").addClass("button");
$j(".view-all").addClass("view-all");
}
},
mql = window.matchMedia('all and (max-width: 770px)');
handleMatchMedia(mql);
mql.addListener(handleMatchMedia);
Problem jest, gdy okno jest zmieniono rozmiar na 770px
iw górę tracę klasy.
Jak zmienić klasę przy zmianie rozmiaru okna?
Nic. Dzięki Twojemu rozwiązaniu teraz zajęcia pozostają bez względu na szerokość punktu przerwania. – user642523
utwórz prosty jsfiddle za pomocą kodu. gdy wybierasz selektor pamięci podręcznej (tj. 'viewAll = $ j (...)' to po prostu zapisz odniesienie do wszystkich węzłów i możesz dodawać/usuwać klasy nad tymi elementami. Również jeśli chcesz zmienić niektóre style za pomocą zapytań o media bezpośrednio do css. – vittore
dodano jsfiddle, aby pokazać, że ten kod rzeczywiście działa. – vittore