javascript中的页面高度

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

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

$(document).height(); 

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

 $('body').height(); 

与…一样:

 document.offsetHeight; 

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

使用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 

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

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

如果你使用jQuery很酷,获取正文或html高度怎么样? 喜欢:

 var winHeight = $('body').height(); 

我正在寻找这个并降落在这里。 如果没有Jquery,你也可以使用普通的JS。 以下作品:

 console.log(document.body.clientHeight,document.body.scrollHeight,document.body.offsetHeight) 

请注意以下链接以阐明要使用的内容:分别了解offsetWidth,clientWidth,scrollWidth和-Height

我认为你需要添加window.pageYOffset (页面滚动的数量,以像素为单位)。

http://www.quirksmode.org/dom/w3c_cssom.html

关于JQuery不确定。 但是,此链接可能有助于您了解各种属性以及它们在不同浏览器中的不同模式下的行为方式。

http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html