javascript - Div 在另一个 Div 中的相对位置

标签 javascript jquery html position

如何获取 Div 相对于其父 Div 的位置?使用 .position().offset() 总是可以给我它在文档中的位置。

<小时/>

HTML:

<div id="frame">
   <div id="inner"></div>
</div>
<小时/>

CSS:

假设 framemargin: auto;width: 1024px 为中心。

inner 具有 left: 300px;top: 200pxposition:relative;

我想要什么:

一个很好的函数,用于获取 inners 的位置数据 300200(例如,使用时没有 px .css('left')

有什么吗?

最佳答案

如果您给父级“相对”的“位置”,则使用 .position()应该是它在父级内部的位置。

使用.offset实际上应该始终根据 document 为您提供其位置,同时使用.position根据其第一个父级(其“位置”不是“静态”(默认))为您提供其“位置”。

示例如下:

http://jsfiddle.net/Z2VNx/

http://jsfiddle.net/Z2VNx/1/

第一个示例使用 <br />在容器顶部添加空间,而第二个示例使用 padding-top在容器顶部添加空间。两者都返回大于 0 的值为 child top位置。

唯一的问题是position在计算其位置时,不考虑子级的边距、填充和边框。这是因为所有这些都是元素的一部分,因此即使您可能看不到它们,它们也不会包含在元素的位置计算中。因此,当然,根据您想要查看其位置的元素的具体部分,您需要将其添加到 .position 的结果中。有些人希望“位置”返回到边框的左上角位置,这意味着添加边距。像这样的事情:

http://jsfiddle.net/Z2VNx/2/

关于javascript - Div 在另一个 Div 中的相对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202978/

相关文章:

javascript - 如何在 jQuery 中以 12 小时格式设置 datetimepicker

javascript - WordPress - JS Cookies 设置但不可用

javascript - 如何在 Featherlight 灯箱中获取当前幻灯片和总幻灯片?

javascript - 在 Javascript 或 Jquery 中的 Iframe 中外部站点的 URL 时出现错误

javascript - 使用对象/参数语法隐藏 Flash 组件滚动条

javascript - 如何使 CodeMirror 从一定行数开始,并扩展到用户输入的行数?

javascript - 如何制作 Jquery Popup 便签

javascript - JQuery .css() 忽略以前的更改

javascript - touchmove 的工作方式与 mousemove 不同

javascript - 使列表项可点击/为弹出框执行JS函数