высота страницы в JavaScript - PullRequest
18 голосов
/ 18 июля 2009

Я не могу получить высоту страницы в javascript, когда страница больше экрана.

Я думал, что это даст мне правильный рост:

$(document).height();

но это только высота экрана, как:

$('body').height();

так же, как:

document.offsetHeight;

Почему-то все эти примеры возвращают только высоту экрана. Может кто-нибудь помочь?

Ответы [ 5 ]

22 голосов
/ 18 июля 2009

Используя 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. Имейте что-то критическое абсолютно позиционированное. Абсолютно позиционированные элементы не влияют на вычисление высоты их родительских элементов.
0 голосов
/ 02 июня 2017

Я искал это и приземлился здесь. Без Jquery вы можете получить это и с простым JS. Ниже работает:

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

Обратите внимание на ссылку ниже, чтобы уточнить, что использовать: Общие сведения о offsetWidth, clientWidth, scrollWidth и -Height соответственно

0 голосов
/ 26 января 2013

Если вы круто используете jQuery, как насчет получения тела или высоты html? как:

var winHeight = $('body').height();
0 голосов
/ 18 июля 2009

Не уверен насчет JQuery. Но эта ссылка может помочь вам понять различные свойства и их поведение в разных режимах в разных браузерах.

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

0 голосов
/ 18 июля 2009

Я думаю, вам нужно добавить window.pageYOffset (количество прокручиваемой страницы в пикселях).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...