问题:.offset()和.position()有什么区别?
我读了一些关于这方面的文档,但我仍然不清楚这两者之间的真正区别。我会请求一个简单的解释。
我的观察:
我写了一个javascript代码,我把它放在网页(.aspx)本身。 javascript基本上是设置模态弹出窗口的位置。在那段代码中,我用.position()来获取div的位置,我将放置模态弹出窗口。现在,这是扭曲 - 当我将javascript代码移动到单独的js文件中时,.position()根本没有正常工作,而是使用.offset()并且它工作正常。
我会请求解释一下吗?
答案 0 :(得分:7)
这取决于元素所处的上下文。位置返回相对于偏移父项的位置,而offset相对于文档相同。显然,如果文档是偏移父项(通常是这种情况),则这些将是相同的。
如果你有这样的布局,那么:
<div style="position: absolute; top: 200; left: 200;">
<div id="sub"></div>
</div>
然后sub的偏移量为200:200,但其位置为0:0。
希望它有意义。