Czy istnieje sposób na uzyskanie szerokości i wysokości przeglądarki po zmianie rozmiaru okna przez użytkownika. Na przykład, jeśli okno wynosi 1920 na 1080 i użytkownik zmienia okno na 500 na 500, czy istnieje jakiś sposób na uzyskanie tych dwóch nowych wartości w JavaScript lub jquery?Uzyskaj szerokość i wysokość przeglądarki po zmianie rozmiaru okna użytkownika
Odpowiedz
Jest to możliwe dzięki odsłuchaniu wydarzenia resize
.
$(window).resize(function() {
var width = $(window).width();
var height = $(window).height();
})
Użyj metody zmiany rozmiaru jQuery, aby posłuchać zmiany rozmiaru okna. wewnątrz callbacka możesz uzyskać wysokość i szerokość.
$(window).resize(function(){
var width = $(window).width();
var height = $(window).height();
});
Można użyć zdarzenia resize
wraz z height()
i width()
właściwości
$(window).resize(function(){
var height = $(window).height();
var width = $(window).width();
});
można użyć JQuery rozmiaru funkcji(). Upewnij się, że dodajesz tę samą logikę zmiany rozmiaru, aby ponownie załadować zdarzenie. Jeśli użytkownik załaduje się ponownie w oknie o rozmiarach, twoja logika nie zadziała.
$(window).resize(function() {
$windowWidth = $(window).width();
$windowHeight = $(window).height();
});
$(document).ready(function() {
//same logic that you use in the resize...
});
Jay. dzięki. Czy można uniknąć duplikowania kodu? Używam mega-menu dla mojej witryny i potrzebuję automatycznej zmiany rozmiaru okna na zmiany rozmiaru okna i po ponownym wczytaniu. W tej chwili używam tego samego kodu w zdarzeniach 'resize()' i 'ready()'. – Andry
@Andry Czy możesz udostępnić kod? –
Czysta JavaScript odpowiedź:
var onresize = function() {
//your code here
//this is just an example
width = document.body.clientWidth;
height = document.body.clientHeight;
}
window.addEventListener("resize", onresize);
Działa to dobrze na chrom. Jednak działa tylko na chrome. Nieco więcej przykładów w różnych przeglądarkach używa właściwości celu zdarzenia "outerWidth" i "outerHeight", ponieważ w tym przypadku zdarzeniem "target" jest samo okno. Kod będzie jak tego
var onresize = function(e) {
//note i need to pass the event as an argument to the function
width = e.target.outerWidth;
height = e.target.outerHeight;
}
window.addEventListener("resize", onresize);
to działa prawidłowo w Firefox i Chrome
Nadzieja to pomaga :)
Edit: Testowany w IE9 i to działało zbyt :)
Edycja: document.width i document.height nie powinny już być używane i nie działały dla mnie w Chrome. Zamiast tego zaleca się używanie document.body.clientWidth i document.body.clientHeight. Zobacz http://www.howtocreate.co.uk/tutorials/javascript/browserwindow –
Praktycznie Używam tego i bardzo mi to pomaga:
var TO = false;
var resizeEvent = 'onorientationchange' in window ? 'orientationchange' : 'resize';
$(window).bind(resizeEvent, function() {
TO && clearTimeout(TO);
TO = setTimeout(resizeBody, 200);
});
function resizeBody(){
var height = window.innerHeight || $(window).height();
var width = window.innerWidth || $(window).width();
alert(height);
alert(width);
}
Jeśli potrzebujesz poznać te wartości, aby zrobić layou t korekty, założę się, że planujesz słuchać tych wartości. Zamiast tego zaleciłem użycie interfejsu API Window.matchmedia()
.
Jest to much more performant i jest w zasadzie odpowiednikiem JS zapytań o media CSS.
Bardzo szybkie przykład użycia:
if (window.matchMedia("(max-width: 500px)").matches) {
/* the viewport is less than or exactly 500 pixels wide */
} else {
/* the viewport is more than 500 pixels wide */
}
Można również skonfigurować słuchacz że dostanę wywoływana za każdym razem, gdy stan matches
zmian własności.
Zobacz MDN dla description i example of using a listener.
- 1. CSS 100% szerokość przy zmianie rozmiaru przeglądarki
- 2. Minimalna szerokość w zmianie rozmiaru okna
- 3. Zmiana rozmiaru okna GWT i wyśrodkowanie po zmianie rozmiaru okna przeglądarki
- 4. Pokaż szerokość i wysokość bieżące wartości na zmianę rozmiaru okna
- 5. Wywołanie funkcji po zmianie rozmiaru okna
- 6. JavaScript - Uzyskaj wysokość przeglądarki
- 7. Automatyczne zmienianie rozmiaru wiersza TableLayoutPanel po zmianie rozmiaru okna
- 8. Jak znaleźć za pomocą javascript maksymalną szerokość i szerokość okna przeglądarki użytkownika?
- 9. Uzyskaj wysokość i szerokość obrazu PHP
- 10. Wyłącz Zmienianie rozmiaru okna przeglądarki
- 11. szerokość/wysokość po transformacji
- 12. DialogFragment - Uzyskaj szerokość okna dialogowego
- 13. ExtJS: Automatycznie zmienia rozmiar pól formularza przy zmianie rozmiaru okna
- 14. Uzyskaj szerokość i wysokość ciągu w pikselach (PHP)
- 15. Elementy Java pojawiają się dopiero po zmianie rozmiaru okna
- 16. Rerendering meteor.js przy zmianie rozmiaru okna?
- 17. jaka jest szerokość/wysokość ipad mini przeglądarki?
- 18. Układ widok po zmianie rozmiaru
- 19. Jak ustawić szerokość i wysokość przeglądarki w Selenium WebDriver?
- 20. Zmiana położenia jQuery UI Autouzupełnianie przy zmianie rozmiaru przeglądarki
- 21. Uzyskaj szerokość i wysokość obrazu w pliku node.js
- 22. Jak uzyskać szerokość i wysokość z okna CreateWindowEx()? C++
- 23. Migotanie OpenGL/uszkodzone przy zmianie rozmiaru okna i aktywnym DWM
- 24. Zapytania o media nie są uwzględniane przy zmianie rozmiaru przeglądarki
- 25. Rozciągnij obraz, aby wypełnić szerokość okna przeglądarki.
- 26. Zmiana rozmiaru/skali facebook jak przycisk (wysokość i szerokość)
- 27. Względna wysokość i szerokość, ale bezwzględna pozycja x, y
- 28. jak uzyskać szerokość i wysokość okna z YUI?
- 29. Uzyskaj szerokość i wysokość jednego wiersza w oknie RecycleView - Android
- 30. Uzyskaj wysokość i szerokość obrazu jako wartości całkowite?
Próbowałem tego, ale nadal otrzymuję oryginalne wymiary – Gregwest85
czy możesz udostępnić swój kod? – Anoop