Jak sprawić, by jQuery coś zrobił, jeśli szerokość ekranu jest mniejsza niż 960 pikseli? Poniższy kod zawsze uruchamia drugi alert, niezależnie od rozmiaru mojego okna:
if (screen.width < 960) {
alert('Less than 960');
}
else {
alert('More than 960');
}
javascript
jquery
Evanss
źródło
źródło
Odpowiedzi:
Użyj jQuery, aby uzyskać szerokość okna.
źródło
Możesz połączyć to ze zdarzeniem zmiany rozmiaru:
Dla RJ:
Próbowałem http://api.jquery.com/off/ bez powodzenia, więc wybrałem flagę eventFired.
źródło
combine it with
.equalHeights
funkcję przy zmianie rozmiaru, ale tylko dla szerokości większych niż 768. To działa jak urok. DziękiPolecam nie używać jQuery do takich rzeczy i kontynuować
window.innerWidth
:źródło
Możesz także użyć zapytania medialnego z javascript.
źródło
Sugerowałbym (potrzebne jQuery):
Dodano w CodePen: http://codepen.io/moabi/pen/QNRqpY?editors=0011
Następnie możesz łatwo uzyskać szerokość okna za pomocą var: windowWidth i Height z: windowHeight
w przeciwnym razie uzyskaj bibliotekę js: http://wicky.nillia.ms/enquire.js/
źródło
źródło
posługiwać się
lub
lub
źródło
Wiem, że jestem spóźniony, aby odpowiedzieć na to pytanie, ale mam nadzieję, że pomoże to każdemu, kto ma podobny problem. Działa również, gdy strona jest odświeżana z dowolnego powodu.
źródło
Wypróbuj ten kod
źródło
nie, nic z tego nie zadziała. Potrzebujesz tego !!!
Spróbuj tego:
źródło
document.body.clientWidth
jeśli używasz waniliowej JS) to <= 960 (co oznacza tutaj instrukcję if), to jedyna inna opcja (ELSE to screen.width> 960), dlatego też użyj innej opcji, jeśli tutaj jest zbędna. użyćdocument.body.clientWidth <=960 ? handleSmallerThan960() : handleLargerThan960()
lub jakiś wariant. Nie ma potrzeby, jeśli (zbędny kod)