offset()。top与窗口顶部的偏移量

时间:2014-09-02 00:30:23

标签: javascript jquery html css

所以我试图通过javascript / jquery执行一些计算,以使我的webapp中的元素响应。我理解通过使用object.offset().top,我能够获得内容顶部和对象顶部之间的像素数。但是,我的部分设计是某些元素贴在屏幕顶部,而其余元素滚动过去,然后object.offset().top与原来相同的方式没用。

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

干杯

1 个答案:

答案 0 :(得分:1)

  

是否有一种方法可用于确定我的对象与用户屏幕顶部之间的距离

是的,有 - getBoundingClientRect

  

“返回的值是一个TextRectangle对象,其中包含描述边框的只读lefttoprightbottom属性像素。 top和left相对于视口的左上角。“

我在这里做了一个(超过)原始示例,http://jsfiddle.net/7ceL8p3s/ - 将红色框滚动到视图中,然后单击它 - 每次单击时它都会将TextRectangle对象记录到控制台,并且您会看到topleft值相对于视口。 (jsfiddle结果框的视口是 - 转到http://jsfiddle.net/7ceL8p3s/show/以在完整窗口中查看它。)

如果您滚动它以使框在顶部视口边框上部分偏离视图,以便只有其中较低部分可见,您也将获得负top值。 (如果您的布局中元素可能会向左滚动到视图之外,left也会发生相同的情况。)