我需要根据屏幕的高度为元素分配一个高度。我的内容超过了屏幕折叠,所以我不能使用
$(window).height();
有没有办法计算打开窗口可见部分的高度?
另一种方法是这样的:
var height = window.innerHeight || document.documentElement.clientHeight || getElementsByTagName('body')[0].clientHeight;
这将基于浏览器支持回退
要获得元素的可见高度,您将从窗口offetTop
的 中减去元素的。height
var elTop = $("#element").offset().top;
var winHeight = $(window).height();
var elVisibleHeight = winHeight - elTop;
如果elVisibleHeight < 0
那么该元素位于屏幕折叠下方并且不可见。如果您需要跟踪元素的位置,则需要在 window 上更新它scroll
。
更新
我用该理论的一个工作示例创建了一个小提琴。显然你可以缩短它,我把它写得很冗长,所以更清楚地知道发生了什么。
这将向您显示文档或窗口高度的差异。