2011-02-13 14 views
9

Tengo un pequeño problema con JavaScript, para obtener el ancho de pantalla usamos screen.width que devuelve la resolución general de la pantalla, ¿hay un comando para obtener la resolución de la parte visible del navegador, como cuando el navegador no está maximizado?ancho de pantalla vs parte visible

Respuesta

28
function width(){ 
    return window.innerWidth 
     || document.documentElement.clientWidth 
     || document.body.clientWidth 
     || 0; 
} 

function height(){ 
    return window.innerHeight 
     || document.documentElement.clientHeight 
     || document.body.clientHeight 
     || 0; 
} 

utilizarlos para devolver el height() o width() de la ventana visible.

JSFiddle example.

+0

Gracias señor, window.innerWidth y window.innerHeight es lo que quiero, simplemente funciona! pero ¿por qué todo el otro código? – med

+0

Compatibilidad del navegador. Oh, si esto es lo que querías, adelante y márcalo como aceptado. – JCOC611

+3

@med Para IE obviamente ':)' –

0

El área que está describiendo es la vista, y se puede acceder normalmente mediante el uso de window.innerWidth o window.innerHeight en los navegadores modernos. IE6 es un poco diferente, pero se puede encontrar más información sobre el manejo del ancho de la ventana gráfica para todos los navegadores en this tutorial on obtaining viewport size.

1

Vi que la pregunta fue respondida, pero aquí está el código que utilicé con una imagen para ilustrar.

function height(){ 
return(window.innerHeight)? 
window.innerHeight: 
document.documentElement.clientHeight||document.body.clientHeight||0; 
} 
$(document).ready(function(){ 
$('.first, .second').css('height',height()); 
}); 
$(window).resize(function() { 
$('.first, .second').css('height',height()); 
}); 

JSFiddle Example

Cuestiones relacionadas