Подтвердить что ты не робот

Высота страницы в javascript

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

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

$(document).height();

но это только увеличивает высоту экрана, так же как:

$('body').height();

то же самое, что:

document.offsetHeight;

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

4b9b3361

Ответ 1

Используя 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() не работает для вас, что-то не так. Вы можете:

  • Вызов слишком рано. Например, перед тем, как DOM готов.
  • Имейте некоторые нечистые поплавки, которые не вызывают элементы уровня блока, которые расширяются до их реальной высоты. Таким образом, испортить вычисления высоты.
  • Есть что-то критическое абсолютно позиционируемое. Абсолютно позиционированные элементы не способствуют вычислению высоты их родительских элементов.

Ответ 2

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

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

Ответ 3

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

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

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