我如何find使用jQuery元素的绝对位置?

有没有办法find一个元素的绝对位置,即相对于窗口的开始,使用jQuery?

.offset()将返回一个元素的偏移位置作为一个简单的对象,例如:

 var position = $(element).offset(); // position = { left: 42, top: 567 } 

您可以使用此返回值将其他元素放置在相同的位置:

 $(anotherElement).css(position) 

注意$(element).offset()告诉你元素相对于文档的位置 。 这在大多数情况下效果很好,但是在position:fixed的情况下可以得到意想不到的结果。

如果您的文档比视口更长,并且已经朝文档的底部垂直滚动,则position:fixed元素的offset()将比预期值大滚动的数量。

如果您正在查找与视口 (窗口) 相关的值,而不是位置上的文档:fixed元素,则可以从固定元素的offset().top值中减去文档的scrollTop()值。 例如: $("#el").offset().top - $(document).scrollTop()

如果position:fixed元素的偏移父母是文档 ,则需要改为读取parseInt($.css('top'))