Ich habe versucht zu verstehen, wie Fensterbreite bestimmt wird und ich frage mich, ob es für CSS und jQuery anders ist.jQuery und CSS Medienabfragen nicht synchron
Wenn zum Beispiel habe ich die CSS-Medienabfrage:
@media (max-width: 979px) {
/*my css here*/
}
und auch einige jQuery:
if ($(window).width() < 979) {
//my jQuery here
}
Ich würde erwarten, dass die folgenden: - Wenn der Browser & aktualisiert am 980px Größe geändert wird , beide der oben genannten werden ignoriert - Wenn die Größe des Browsers geändert wird & bei 978px aktualisiert, werden beide der oben genannten aktiviert.
Aber was ich finde, ist, dass - Die jQuery und CSS treten nicht in bis etwa 964px und darunter. - Manchmal (wenn window.resize aktiviert ist) treten jQuery und CSS in verschiedenen Breiten (einige Pixel auseinander) ein.
Kann jemand Licht auf das werfen, was hier vor sich geht?
Übrigens basiere ich die Fensterbreite auf Firebugs Layout-Viewer.
Ich bemerkte das gleiche Problem, keine der gemeldeten Lösungen funktioniert, beide geben den gleichen Wert zurück, der NICHT der Wert ist, der von der Medienabfrage gelesen wird, außerdem ist es kein jquery-bezogenes Problem seit dem Dokument/Körperobjekt enthält den gleichen Wert für Stil, gibt es eine Lösung? – guari
ok, nur die Ursache gefunden, habe ich eine Lösung in der Antwort unten hinzugefügt. – guari
haben Sie versucht, Körper statt Fenster zu verwenden? – CyberJunkie