jQuery - 检测元素高度是否大于窗口高度并对其执行某些操作

时间:2011-08-31 16:08:28

标签: jquery window height element detect

Tittle真的说了这一切。

基本上我想检测这个div的{​​{1}}是否大于height window并对此做些什么..

我已经这样做但我无法让它工作http://jsfiddle.net/dhkCa/3为什么不能正常工作?

编辑:修正了css代码中的一点错误。 Jsfiddle链接已更新。

2 个答案:

答案 0 :(得分:20)

document包含其中的所有元素,其高度是所有这些元素的高度的总和(无论如何所有display:block元素,加上边距和填充);因此,没有包含的元素可以比文档本身更高。您需要做的是比较window的高度,而不是文档的:

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

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

JS Fiddle demo

答案 1 :(得分:1)

对于滚动高度与文档滚动高度不同的元素,您可以使用element.getBoundingClientRect().height (Docs)