我需要根据屏幕的高度为元素指定高度。我有内容超过屏幕折叠,所以我不能使用
$(window).height();
有没有办法计算打开窗口可见部分的高度?
答案 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
窗口更新此内容。
<强>更新强>
我用这个理论的一个实例来创造一个小提琴。显然你可以缩短它,我已经把它留下了相当冗长,所以它更清楚发生了什么。
答案 2 :(得分:2)
这将显示文档或窗口高度的差异。