Optionale JavaScript-Ausführung basierend auf Medienabfragen

7

Ich versuche herauszufinden, wie ich optional einen JavaScript-Block basierend auf der aktuellen Geräte- / Medienabfrage ausführen kann. Ich benutze Twitter Bootstrap und habe im Wesentlichen zwei Versionen von Medienabfragen:

%Vor%

Ich habe eine Karte, die ich generiere, zeige sie aber nicht in der Mobile / Small-Screen-Version für undwidth-Gründe an. Das JavaScript wird jedoch immer noch im Hintergrund ausgeführt, obwohl Sie es auf dem mobilen Bildschirm nicht sehen können. Also versuche ich einen Weg in Javascript zu finden, wo ich etwas tun kann wie:

%Vor%

Ich habe über Personen gelesen, die CSS-Eigenschaften auf bestimmte Werte in ihren Medienabfragen einstellen und dann versuchen, das Element im DOM basierend auf der CSS-Eigenschaft zu finden, aber es muss einen besseren Weg geben. Irgendwelche Ideen?

    
Jeremy Harris 22.10.2012, 16:31
quelle

4 Antworten

3

Wie wäre es mit Javascript dafür?

%Vor%     
frenchie 22.10.2012, 16:33
quelle
13

Die aktuell akzeptierte Antwort ist nicht gut genug. Sie sollten window.matchMedia

überprüfen

Sie können Änderungen an der Ansichtsfenstergröße erkennen, aber Sie müssen Faktoren wie Ausrichtung und Seitenverhältnisse berechnen, und es gibt keine Garantie, dass unsere Berechnung mit unseren Browserannahmen übereinstimmt, wenn Medienabfrageregeln angewendet werden.

Ich meine, Sie können X berechnen, aber Ihre Browserannahme kann Y sein. Also denke ich, ist besser, die gleichen Browserregeln zu verwenden, und window.matchMedia tut es

%Vor%

Sie können sogar Abfragebenachrichtigungen mit einem Listener empfangen

%Vor%

Wenn Sie keine Benachrichtigungen mehr über Änderungen erhalten müssen, rufen Sie einfach removeListener ()

auf %Vor%     
yeradis 11.08.2013 16:55
quelle
10

Möglicherweise ist die Enquire.js-Bibliothek hilfreich:

Ссылка

CSS-Tricks Artikel: Ссылка

    
Kevin Boucher 22.10.2012 16:40
quelle
1

Sie können auch ein Plugin namens minwidth:

verwenden %Vor%

Aber es funktioniert nur, wenn die Seite nicht beim Ändern der Größe geladen wird.

Ссылка

    
Carlos Martinez T 22.10.2012 16:38
quelle

Tags und Links