position()和之间有什么区别offset()?我尝试在点击事件中执行以下操作:console.info($(this).position(), $(this).offset());它们似乎返回完全相同的...(点击的元素在表格的表格单元格内)
3 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
它们是否相同取决于背景。
position返回相对于偏移父项的{left: x, top: y}对象
offset返回相对于文档的{left: x, top: y}对象。
显然,如果文档是偏移父代(通常是这种情况),则它们将是相同的。的偏移父是“最接近的定位含有元素”。
例如,使用此文档:
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
那$('#sub').offset() 将是{left: 200, top: 200},但.position()它将是{left: 0, top: 0}。
幕布斯6054654
TA贡献1876条经验 获得超7个赞
这两个函数都返回一个具有两个属性的普通对象:width和height。
offset()指的是相对于文档的位置。
position()指的是相对于其父元素的位置
但是当对象的css位置为“绝对”时,两个函数都将返回width = 0和height = 0
- 3 回答
- 0 关注
- 470 浏览
添加回答
举报
0/150
提交
取消