ich folgenden Code haben, der gut arbeitet, wenn die Bildschirmgröße 770px
und unten (wie durch Haltepunkte festgelegt):Remove/add CSS-Klassen auf Breakpoint mit 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);
Das Problem ist, wenn das Fenster Größe geändert zu 770px
und oben verliere ich meine Klassen.
Wie kann man die Klasse bei der Fenstergrößenänderung ändern?
Nichts. Mit Ihrer Lösung bleiben Klassen nun unabhängig von der Haltepunktbreite. – user642523
Erstellen Sie einfach jsfiddle mit Ihrem Code. Wenn Sie einen Selektor zwischenspeichern (zB 'viewAll = $ j (...)', speichern Sie einfach die Referenz auf alle Knoten und Sie können Klassen über diese Elemente hinzufügen/entfernen.) Auch wenn Sie nur einige Stile ändern möchten Medienabfragen direkt in css. – vittore
hinzugefügt jsfiddle, um zu zeigen, dass dieser Code tatsächlich funktioniert. – vittore