JQuery vs. ZeptoJs: почему разные значения $(document).height()?

Заметил странную разницу в вычислении высоты документа между jQuery и Zepto. А именно:

jQuery(document).height() == Max(jQuery(window).height(), jQuery('body').height())

Zepto(document).height() == Zepto('body').height()

Может быть есть еще какие-то условия, но в общих чертах так.



Интересно, почему такая разница и чей вариант технически правильнее?
  • Вопрос задан
  • 4828 просмотров
Пригласить эксперта
Ответы на вопрос 4
SerDIDG
@SerDIDG
Многое зависит от вёрстки.

Например если html задать 100% высоту и ширину, то высота будет равна высоте окна, когда как высота body будет по высоте контента.
jsfiddle.net/CMxMA/

Если и на body и на html поставить по 100%, то высота body будет равна высоте окна.
jsfiddle.net/CMxMA/1/

А если контент внутри с позиционировать, то высота body вообще будет равна 0.
jsfiddle.net/CMxMA/2/

А если ещё и 100% высоту убрать, то и высота документа будет равна 0, хотя высота окна по прежнему будет определяться верно, как и высота скрола.
jsfiddle.net/CMxMA/3/

Разница меж либами зависит от того, как глубоко они копают, и какие данные берут. Тут нельзя сказать что будет правильнее, как по мне, то высота скролла.
Ответ написан
А firebug сколько показывает? Я думаю значение которое совпадет с ним, будет ближе к истине.
Ответ написан
Комментировать
taliban
@taliban
php программист
Сравните Zepto('body').height() и jQuery(document).outerHeight()
Ответ написан
SerDIDG
@SerDIDG
Я говорю про чистый жс, в либах вообще не уверен, по этому я сразу написал, что я не уверен )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы