offset().顶部相对于窗口顶部的偏移量

offset().top vs. offset from top of window

本文关键字:顶部 偏移量 窗口 相对于 offset      更新时间:2023-09-26

因此,我试图通过javascript/jquery执行一些计算,以使我的webapp中的元素具有响应性。我知道,通过使用object.offset().top,我可以获得内容顶部和对象顶部之间的像素数。然而,我设计的一部分是,某些元素会粘在屏幕顶部,而其他元素则会滚动过去,然后object.offset().top就不再像以前那样有用了。

我想知道的是:有没有一种方法可以确定我的对象和用户屏幕顶部之间的距离(而不是对象和我的内容顶部之间)?我正在使用最新版本的Chrome浏览器。

干杯

有没有一种方法可以确定我的物体和用户屏幕顶部之间的距离

是的,有–getBoundingClientRect:

"返回的值是一个TextRectangle对象,它包含以像素为单位描述边框的只读lefttoprightbottom属性。顶部和左侧相对于视口的左上角。"

我在这里举了一个(不止)粗糙的例子,http://jsfiddle.net/7ceL8p3s/–将红色框滚动到视图中,然后单击它–每次单击时,它都会将TextRectangle对象记录到控制台中,并且您会看到topleft值是相对于视口的。(jsfiddle结果帧的视口,即–转到http://jsfiddle.net/7ceL8p3s/show/在完整的窗口中查看。)

如果滚动该框,使其在顶部视口边界上部分不在视图中,从而仅显示其下部,则也会得到负的top值。(如果您的布局中元素可能会从视图中向左滚动,left也应该如此。)