jquery css

jquery - Cómo obtener la altura de un elemento del cuerpo.



css (5)

$ (documento) .height () parece hacer el truco y proporciona la altura total, incluida el área que solo es visible a través del desplazamiento.

Aquí la altura total de todos los <div> son 900 píxeles, pero la función jQuery devuelve la altura del cuerpo a 577 píxeles. (Si elimino el cuerpo CSS, está funcionando).

¿Hay una solución para este problema?

$j(function() { alert($j("body").height()); }) html, body { height:100%; } <div style="height:200px">header</div> <div style="height:500px">content</div> <div style="height:200px">footer</div>


Conjunto

html { height: 100%; } body { min-height: 100%; }

En lugar de height: 100% .

El resultado que devuelve jQuery es correcto, porque ha establecido la altura del cuerpo en 100%, y esa es probablemente la altura de la ventana gráfica. Estos tres DIV estaban causando un desbordamiento, porque no había suficiente espacio para ellos en el elemento BODY. Para ver lo que quiero decir, coloque un borde en la etiqueta CUERPO y verifique dónde termina el borde.


Creo que la altura del cuerpo que se devuelve es la altura visible. Si necesita la altura total de la página, puede envolver sus etiquetas div en un div conteniendo y obtener la altura de esa.


Estábamos tratando de evitar el uso del IE específico

$window[0].document.body.clientHeight

Y descubrió que el siguiente jQuery no producirá el mismo valor de manera consistente, pero eventualmente lo hará en algún punto del escenario de carga de nuestra página que funcionó para nosotros y mantuvo el soporte entre navegadores:

$(document).height()


Simplemente use

$(document).height() // - $(''body'').offset().top

y / o

$(window).height()

en lugar de $(''body'').height();