获取一个元素相对于Javascript中一个祖先的位置
Get position of an element relatively to one ancestor in Javascript
假设我有以下HTML代码(这是一个示例):
<div id="site_header_container" class="site_bar_container">
<div id="site_header">
<div id="header_logo_container">
<a class="sliced" id="header_logo" href="/"> </a>
</div>
</div>
</div>
应用了几个CSS。基本上,在具有id="site_header_container"
的div中,有一个background-image
。我想知道<a>
元素在site_header_container
中的顶部和左侧值。
那么,我怎么能给一个元素,称之为祖先,另一个元素称之为后代?知道后代在纯Javascript中相对于其祖先置(我不想使用任何库),并且它必须仅在Chrome中工作?
使用getBoundingClientRect()接收子元素和父元素的位置,然后从子元素减去父元素的坐标。
var coords = element.getBoundingClientRect();
console.log(coords.top, coords.right, coords.bottom, coords.left);
如果父母坐标为(左)500、(上)500和孩子坐标为550550,那么孩子相对于父母的坐标为50/50
http://codepen.io/dollseb/pen/oilyH
本页介绍了如何做到这一点。从a元素开始,您需要向上爬DOM层次结构,并添加每个父元素的offsetTop
和offsetHeight
属性,直到到达祖先。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- 获取一个元素相对于Javascript中一个祖先的位置
- 使用jQuery在一个元素和它的祖先元素之间选择一个元素的最好方法是什么?
- 搜索一个嵌套的javascript对象,获得一个祖先数组
- 一个祖先的多个元素的选择器
- 另一个最接近的子线程:查找与选择器匹配的元素的最近祖先
- JQuery UI datepicker next和prev按钮只有一个祖先.$(e.target).parents()