¿Cómo obtengo la altura y el ancho de la ventana gráfica del navegador sin barras de desplazamiento usando jQuery?
Esto es lo que he probado hasta ahora:
var viewportWidth = $("body").innerWidth();
var viewportHeight = $("body").innerHeight();
Esta solución no tiene en cuenta las barras de desplazamiento del navegador.
Respuestas:
Más información
Sin embargo, usar jQuery no es esencial para obtener esos valores. Utilizar
para obtener tamaños excluyendo las barras de desplazamiento, o
para obtener toda la ventana gráfica, incluidas las barras de desplazamiento.
fuente
No use jQuery, solo use javascript para obtener el resultado correcto:
Esto incluye el ancho / alto de la barra de desplazamiento:
Esto excluye el ancho / alto de la barra de desplazamiento:
fuente
Aquí hay un JS genérico que debería funcionar en la mayoría de los navegadores (FF, Cr, IE6 +):
fuente
Estás utilizando llamadas de método incorrectas. Una ventana gráfica es la "ventana" que está abierta en el documento: cuánto puede ver y dónde.
El uso
$(window).height()
no le dará el tamaño de la ventana gráfica, le dará el tamaño de toda la ventana, que generalmente es el tamaño de todo el documento, aunque el documento podría ser aún más grande.Para obtener el tamaño de la ventana gráfica real, utilice
window.innerHeight
ywindow.innerWidth
.https://gist.github.com/bohman/1351439
No utilice los métodos jQuery, por ejemplo
$(window).innerHeight()
, ya que dan números incorrectos. Te dan la altura de la ventana, noinnerHeight
.fuente
window.innerWidth
devuelve el ancho de la ventana gráfica + el ancho de la barra de desplazamiento. ¿Que puedo hacer en esta situacion?Descripción
Lo siguiente le dará el tamaño de la ventana gráfica del navegador.
Muestra
Más información
fuente
Como sugirió Kyle, puede medir el tamaño de la ventana gráfica del navegador del cliente sin tener en cuenta el tamaño de las barras de desplazamiento de esta manera.
Muestra (dimensiones de la ventana gráfica SIN barras de desplazamiento)
Alternativamente, si desea encontrar las dimensiones de la ventana gráfica del cliente teniendo en cuenta el tamaño de las barras de desplazamiento, esta muestra a continuación se adapta mejor a sus necesidades.
Primero, no olvide configurar la etiqueta de su cuerpo para que sea 100% de ancho y alto solo para asegurarse de que la medida sea precisa.
Muestra (dimensiones de la ventana gráfica CON barras de desplazamiento)
fuente
La secuencia de comandos
$(window).height()
funciona bien (muestra la altura de la ventana gráfica y no el documento con la altura de desplazamiento), PERO necesita que coloques correctamente la etiqueta doctype en tu documento, por ejemplo, estos doctypes:Para html5:
<!doctype html>
para html4 de transición:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Probablemente el tipo de documento predeterminado asumido por algunos navegadores es tal que
$(window).height()
toma la altura del documento y no la altura del navegador. Con la especificación de tipo de documento, se resuelve satisfactoriamente, y estoy bastante seguro de que ustedes evitarán "cambiar el desbordamiento de desplazamiento a oculto y luego volver", que es, lo siento, un truco un poco sucio, especialmente si no lo hace. t documentarlo en el código para uso futuro del programador.Además, si está haciendo un script, puede inventar pruebas para ayudar a los programadores en sus bibliotecas, permítame inventarme un par:
fuente
fuente
Usando jQuery ...
$ (document) .height () & $ (window) .height () devolverán los mismos valores ... la clave es restablecer el relleno y el margen del cuerpo para que no tenga desplazamiento.
Espero que esto ayude.
fuente
Quería un aspecto diferente de mi sitio web para pantalla ancha y pantalla pequeña. He creado 2 archivos CSS. En Java, elijo cuál de los 2 archivos CSS se usa según el ancho de la pantalla. Yo uso la función PHP
echo
con en elecho
función algo de javascript.mi código en la
<header>
sección de mi archivo PHP:fuente