Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery查找元素的绝对位置?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery查找元素的绝对位置?

Javascript 如何使用jQuery查找元素的绝对位置?,javascript,jquery,Javascript,Jquery,是否有一种方法可以使用jQuery查找元素的绝对位置,即相对于窗口开始的位置?将以简单对象的形式返回元素的偏移位置,例如: var position = $(element).offset(); // position = { left: 42, top: 567 } 可以使用此返回值将其他图元放置在同一位置: $(anotherElement).css(position) 请注意,$(element).offset()告诉您元素相对于文档的位置。这在大多数情况下都非常有效,但是在位置:fi

是否有一种方法可以使用jQuery查找元素的绝对位置,即相对于窗口开始的位置?

将以简单对象的形式返回元素的偏移位置,例如:

var position = $(element).offset(); // position = { left: 42, top: 567 }
可以使用此返回值将其他图元放置在同一位置:

$(anotherElement).css(position)
请注意,
$(element).offset()告诉您元素相对于文档的位置。这在大多数情况下都非常有效,但是在
位置:fixed
的情况下,您可能会得到意外的结果

如果您的文档比视口长,并且您已向文档底部垂直滚动,则您的
位置:fixed
元素的
offset()
将大于您滚动的预期值

如果要查找相对于视口(窗口)的值,而不是位置:固定元素上的文档,则可以从固定元素的
offset().top
值中减去文档的
scrollTop()
值。示例:
$(“#el”).offset().top-$(document.scrollTop()


如果
position:fixed
元素的偏移父元素是文档,那么您需要阅读
parseInt($.css('top'))

我总是忘记这一个,在我搜索时再次找到您的帖子:p由于边框等方面的差异,这似乎并不总是返回绝对位置。我正在使用chrome和
offset()
不返回正确的顶部坐标。它返回的值比文档中元素的顶部坐标多300像素。为什么?chrome、FF和IE给出了不同的结果:(@我总是忘记这一条,每次都觉得你的评论很有趣:)我一直在寻找这个!对于像我这样的noob:要减去的值是
$(document).scrollTop()
太棒了!这应该是最好的答案!