Optional ist die Ausführung von Javascript auf Basis von Media Queries
Ich versuche, herauszufinden, wie kann ich Optional führen Sie einen block von javascript-basierend auf dem aktuellen Gerät/Medien-Abfrage. Ich bin mit Twitter Bootstrap und haben im wesentlichen zwei Versionen von media queries:
@media (min-width: 980px) { ... } <!-- Desktops -->
@media (max-width: 979px) { ... } <!-- Smaller screens/tablets/phones -->
Habe ich eine Karte, die ich erzeugen, aber ich bin nicht zeigt es in der mobilen/kleinen Bildschirm version forb andwidth Gründen. Doch, das javascript noch im hintergrund ausführt, obwohl Sie es nicht sehen können auf dem Bildschirm des mobilen Geräts. Ich versuche also, einen Weg zu finden, in javascript, wo ich etwas tun kann, wie:
//Imaginary function
var screenType = getScreenType();
if(screenType == 1) {
//Load map
}
Habe ich Lesen Sie über Menschen definieren von CSS-Eigenschaften, die bestimmte Werte in Ihren Medien Abfragen und dann versuchen zu finden dieses element in das DOM basierend auf dem CSS-Eigenschaft, aber es hat doch einen besseren Weg geben. Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie über die Verwendung von javascript für, die?
Die aktuelle akzeptierte Antwort ist nicht gut genug, sollten Sie überprüfen, Fenster.matchMedia
Können Sie erkennen viewport-dimension änderungen, aber Sie müssen berechnen, Faktoren wie Orientierung und Seitenverhältnisse und es gibt keine Garantie dafür ist unsere Kalkulation passen unsere browser Annahmen, wenn es gilt, media query-Regeln.
Ich meine, man kann Sie berechnen X, aber Ihr browser Annahme kann Y.
Also ich denke, besser ist die Verwendung von gleichen browser Regeln, und Fenster.matchMedia tut es
Können Sie erhalten sogar die Abfragebenachrichtigung mit einem listener
Wenn Sie nicht mehr benötigen, um Benachrichtigungen über änderungen einfach removeListener () aufrufen
Finden Sie vielleicht die Enquire.js Bibliothek hilfreich:
http://wickynilliams.github.com/enquire.js/
CSS-Tricks Artikel: http://css-tricks.com/enquire-js-media-query-callbacks-in-javascript/
Können Sie auch mit einem plugin namens minwidth:
Aber es funktioniert nur, wenn die Seite geladen wird, nicht wenn die Größe..
http://edenspiekermann.com/en/blog/responsive-javascript-helpers