height of page in javascript

2019-03-17 20:33发布

问题:

I'm unable to get the height of a page in javascript when the page is larger than the screen.

I thought this would get me the right height:

$(document).height();

but that only gets the height of the screen, same as:

$('body').height();

same as:

document.offsetHeight;

For some reason all these examples only return the height of the screen. Can somebody help?

回答1:

Using jQuery (which you did specify), $(document).height() will return exactly what you're asking for.

To clarify the usage of the height() method:

$('.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

I suspect, that if $(document).height() is not working for you, something is wrong. You may be:

  1. Calling it too early. Like, before the DOM is ready
  2. Have some uncleared floats that are not causing some block level elements to expand to their real height. Thus messing up height calculations.
  3. Have something critical absolutely positioned. Absolutely positioned elements do not contribute towards height calculations of their parent elements.


回答2:

If you're cool with using jQuery, what about getting the body or html height? like:

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


回答3:

I was looking for this and landed up here. Without Jquery, you can get this with plain JS also. Below works:

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

Do note the below link to clarify which to use: Understanding offsetWidth, clientWidth, scrollWidth and -Height, respectively



回答4:

I think you need to add window.pageYOffset (the amount the page has been scrolled, in pixels).

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



回答5:

Not sure about JQuery. But this link, might help you to understand various properties and how they behave in different modes in different browsers.

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