jQuery - определяет, превышает ли высота элемента высоту окна, и что-то с этим делает - PullRequest
5 голосов
/ 31 августа 2011

Титул действительно говорит сам за себя.

По сути, я хочу определить, больше ли это div 'height, чем window height, и что-то с этим сделать ..

Я сделал это, но не могу заставить его работать http://jsfiddle.net/dhkCa/3 Почему это не работает?

Редактировать: Исправлена ​​небольшая ошибка в коде CSS.Ссылка Jsfiddle обновлена.

Ответы [ 2 ]

20 голосов
/ 31 августа 2011

document содержит все элементы внутри себя, а его высота представляет собой сумму высот всех этих элементов (все элементы display:block в любом случае, плюс поля и отступы); поэтому ни один содержащийся элемент не может быть выше самого документа. Вам нужно сравнить высоту window, а не документ:

var div = $("div").height();
var win = $(window).height();

if (div > win ) {
    $("div").addClass('red');
}

Демонстрация JS Fiddle .

1 голос
/ 25 января 2018

Для элемента с высотой прокрутки, отличной от высоты прокрутки документа, вы можете использовать element.getBoundingClientRect().height (Документы) .

...