使用/ jQuery计算元素的高度

时间:2012-05-01 19:10:42

标签: jquery

我需要根据屏幕的高度为元素指定高度。我有内容超过屏幕折叠,所以我不能使用

$(window).height();

有没有办法计算打开窗口可见部分的高度?

3 个答案:

答案 0 :(得分:3)

另一种方法就是这样:

var height = window.innerHeight || document.documentElement.clientHeight || getElementsByTagName('body')[0].clientHeight;

这将基于浏览器支持回退

答案 1 :(得分:2)

要获得元素的可见高度,您需要从窗口的offetTop中减去元素的height

var elTop = $("#element").offset().top;
var winHeight = $(window).height();
var elVisibleHeight = winHeight - elTop;

如果elVisibleHeight < 0,则元素位于屏幕折叠下方且不可见。如果您需要跟踪元素的位置,则需要在scroll窗口更新此内容。

<强>更新

我用这个理论的一个实例来创造一个小提琴。显然你可以缩短它,我已经把它留下了相当冗长,所以它更清楚发生了什么。

Example Fiddle

答案 2 :(得分:2)

这将显示文档或窗口高度的差异。

http://jsfiddle.net/9YFwx/