Esiste un modo per ottenere la larghezza e l'altezza del browser dopo che un utente ha ridimensionato la finestra. Ad esempio se la finestra è 1920 per 1080 e l'utente cambia la finestra in 500 per 500 c'è un modo per ottenere quei due nuovi valori in JavaScript o in jQuery?Ottieni larghezza e altezza del browser dopo che l'utente ridimensiona la finestra
risposta
È possibile ascoltando l'evento resize
.
$(window).resize(function() {
var width = $(window).width();
var height = $(window).height();
})
Utilizzare il metodo di ridimensionamento jQuery per ascoltare la modifica della dimensione della finestra. all'interno del callback puoi ottenere altezza e larghezza.
$(window).resize(function(){
var width = $(window).width();
var height = $(window).height();
});
È possibile utilizzare l'evento resize
, insieme ai height()
e width()
proprietà
$(window).resize(function(){
var height = $(window).height();
var width = $(window).width();
});
È possibile utilizzare la funzione di JQuery ridimensionare(). Assicurati inoltre di aggiungere la stessa logica di ridimensionamento per ricaricare l'evento. Se l'utente si ricarica nella finestra delle dimensioni, la logica non funzionerà.
$(window).resize(function() {
$windowWidth = $(window).width();
$windowHeight = $(window).height();
});
$(document).ready(function() {
//same logic that you use in the resize...
});
Jay. Grazie. È possibile evitare la duplicazione del codice? Uso il mega-menu per il mio sito e ho bisogno di ridimensionare automaticamente le finestre modificando le dimensioni della finestra e dopo aver ricaricato. A questo punto uso lo stesso codice sugli eventi 'resize()' e 'ready()'. – Andry
@Andry Puoi condividere il codice? –
Pure Javascript risposta:
var onresize = function() {
//your code here
//this is just an example
width = document.body.clientWidth;
height = document.body.clientHeight;
}
window.addEventListener("resize", onresize);
Questo funziona bene su Chrome. Tuttavia, funziona solo su Chrome. Un esempio leggermente più cross-browser utilizza le proprietà target dell'evento "outerWidth" e "outerHeight", poiché in questo caso l'evento "target" è la finestra stessa. Il codice sarebbe come questo
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);
Questo funziona bene in Firefox e Chrome
Speranza che aiuta :)
Edit: Testato in IE9 e questo ha funzionato troppo :)
Modifica: document.width e document.height non dovrebbero più essere usati e non hanno funzionato per me su Chrome. Invece si consiglia di utilizzare document.body.clientWidth e document.body.clientHeight. Vedi http://www.howtocreate.co.uk/tutorials/javascript/browserwindow –
In pratica, Io uso questo e mi aiuta molto:
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);
}
Se è necessario conoscere questi valori per fare layou t aggiustamenti, scommetto che pianifichi di ascoltare quei valori. Ho consigliato di utilizzare l'API Window.matchmedia()
a tale scopo.
È much more performant ed è fondamentalmente l'equivalente JS delle query multimediali CSS.
Molto rapido esempio di utilizzo:
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 */
}
È anche possibile impostare un listener che otterrà chiamato ogni volta che lo stato dei matches
modifiche alle proprietà.
Vedere MDN per description e example of using a listener.
- 1. Ridimensiona/ridimensiona come pulsante (altezza e larghezza)
- 2. Finestra del browser Frameless altezza zero
- 3. larghezza/altezza dopo la trasformazione
- 4. Ottieni altezza e larghezza dell'immagine PHP
- 5. XNA: ottieni larghezza e altezza dello schermo
- 6. qual è la larghezza/altezza del mini browser ipad?
- 7. DOM HTML larghezza + altezza della finestra visibile
- 8. Ridimensiona altezza con Highcharts
- 9. Estendere un'immagine per riempire la larghezza della finestra del browser
- 10. Ottieni larghezza e altezza dei componenti in Vista frammento
- 11. Ridimensiona la larghezza di fancybox dopo la richiesta AJAX
- 12. Ottieni altezza pagina in JS (Cross-Browser)
- 13. Impostazione larghezza e altezza
- 14. Come ridimensionare una finestra del browser in modo che la larghezza interna sia un valore specifico
- 15. Cambia altezza e larghezza del font
- 16. Specificare larghezza e altezza del grafico
- 17. Ridimensiona l'editor ACE ajax.org in base alle dimensioni del browser
- 18. MKPinAnnotationView: larghezza e altezza del pin
- 19. CSS - larghezza vs altezza - la larghezza ha la priorità
- 20. Ottieni altezza e larghezza dell'immagine come valori interi?
- 21. Come cambiare AVCaptureVideoPreviewLayer altezza e la larghezza
- 22. Ottieni altezza e larghezza della cella TableLayoutPanel in Windows Form
- 23. Ottieni larghezza e altezza di una riga in RecycleView - Android
- 24. Imposta altezza e larghezza della finestra di dialogo personalizzata
- 25. Come ottenere larghezza e altezza grezza del dispositivo o larghezza e altezza effettive dello schermo?
- 26. Altezza e larghezza totali SVG
- 27. Altezza relativa e larghezza ma posizione assoluta x, y
- 28. Larghezza adattamento video HTML5 altezza O
- 29. Come trovare usando javascript il massimo utenti finestra del browser larghezza e corrente
- 30. come ottenere larghezza e altezza della finestra con YUI?
Ho provato questo, ma sto ancora ottenendo le dimensioni originali – Gregwest85
puoi condividere il tuo codice? – Anoop