JQuery的offset()方法是用来获取或设置页面元素相对于文档的偏移量的。它返回一个包含top和left属性的对象,分别代表元素的上边缘和左边缘相对于文档的偏移量。
下面我们来看一个图解
+-------------------------------------------+ | | | +---------------+ | | | | | | | | | | | | | | +---------------+ | | | | | | | | | | | | | | | | | | | | | | | | | +-------------------------------------------+
如上图所示,假设我们有一个元素,它的左上角坐标位于(100, 200)的位置,而整个文档在浏览器窗口中的位置是(50, 75)
我们可以使用offset()方法来获取这个元素相对于文档的偏移量,代码如下:
var $elem = $('#my-elem'); var offset = $elem.offset(); // offset = { top: 275, left: 150 }
在这个例子中,$elem变量保存了我们要获取偏移量的元素,offset变量保存了元素的偏移量,这个偏移量是相对于文档的左上角计算出来的。
注意,offset()方法的结果会受到当时浏览器窗口的滚动条位置的影响。如果页面有滚动条,那么元素相对于文档的偏移量也会随着滚动条的滚动而改变。
总之,offset()方法是一个很有用的工具,在需要操作元素的位置时,它可以帮助我们快速地获取元素相对于文档的位置。