为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery:position()和offset()之间的区别

jQuery:position()和offset()之间的区别

陪伴而非守候 2019-09-20 15:27:42
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}。


查看完整回答
反对 回复 2019-09-20
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这两个函数都返回一个具有两个属性的普通对象:width和height。


offset()指的是相对于文档的位置。


position()指的是相对于其父元素的位置


但是当对象的css位置为“绝对”时,两个函数都将返回width = 0和height = 0


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 453 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信