jQuery的offset()方法允许开发者获取或设置元素相对于文档的位置。当用于获取位置时,该方法仅返回首个匹配元素的位置;而设置位置时,则会应用于所有匹配的元素。
此方法返回一个包含left和top属性的对象,分别表示元素距离文档左边缘和上边缘的距离。
(1)获取位置
语法格式:
$(selector).offset()
(2)设置位置
语法格式:
常规方式:
$(selector).offset({top:value,left:value})
函数方式:
$(selector).offset(function(index, currentOffset))
其中,index是匹配元素的索引,currentOffset是元素当前的位置对象。
示例:
1. 获取位置
假设页面中有两个div元素,使用offset()方法仅返回第一个div的位置信息:
控制台输出显示第一个div的位置信息。
2. 设置位置
(1)常规方式
通过点击按钮,可以将指定元素的位置移动到新的坐标点:
这是一个段落。
点击按钮后,段落元素的位置将发生变化。
(2)函数方式
通过函数动态计算并设置多个元素的新位置:
点击按钮后,所有匹配的div元素的位置都会相应地向右下角移动200像素。