javascript中的页面高度

jzp*_*p74 18 javascript jquery height

当页面大于屏幕时,我无法在javascript中获取页面的高度.

我认为这会让我达到正确的高度:

$(document).height();
Run Code Online (Sandbox Code Playgroud)

但这只能获得屏幕的高度,如下所示:

$('body').height();
Run Code Online (Sandbox Code Playgroud)

与...一样:

document.offsetHeight;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,所有这些示例仅返回屏幕的高度.有人可以帮忙吗?

jas*_*son 22

使用jQuery(您指定的),$(document).height()将返回您正在要求的内容.

为了澄清该height()方法的用法:

$('.someElement').height(); // returns the calculated pixel height of the element(s)
$(window).height();         // returns height of browser viewport
$(document).height();       // returns height of HTML document
Run Code Online (Sandbox Code Playgroud)

我怀疑,如果$(document).height()不适合你,那就错了.你可能:

  1. 打电话太早了.就像在DOM准备好之前一样
  2. 有一些未清除的浮动,不会导致某些块级元素扩展到它们的真实高度.因此弄乱了高度计算.
  3. 有一些关键的绝对定位.绝对定位的元素不会对其父元素的高度计算做出贡献.