Javascript / 根据一个元素的位置定位另一个元素
Javascript / Positioning an element according to another element's position
我希望我的div(默认情况下使用style="display: none; position: absolute"
,仅在单击单元格时可见)显示在表格中单击的单元格的左侧30px
。 addevent
代表我的div,我想把它放在单元格30px
左边。所以,我希望我的div 显示在单击单元格左侧30px
。我做错了什么?
var cell = document.getElementsByTagName('td');
for (var i=0; i<cell.length; i++) {
cell[i].onclick = function() {
var data = this.getAttribute('data-cell');
editEvent = document.getElementById('addevent');
editEvent.style.cssText ='display: block;';
this.style.position = 'relative';
var rect = this.getBoundingClientRect();
editEvent.style.left = rect.left + 30;
editEvent.getElementsByTagName('input')[3].value = data;
};
正如我在评论中所说,这可能是一个统一的错误。请参阅示例:
var $floating = document.querySelector('.floating-div');
var $contentDivs = document.querySelectorAll('.content-div');
for (var i = $contentDivs.length; i--;) {
$contentDivs[i].addEventListener('click', function () {
var rect = this.getBoundingClientRect();
$floating.style.top = rect.top - 30 + 'px';
$floating.style.left = rect.left - 30 + 'px';
$floating.classList.add('show');
});
}
.content-div {
border: solid 1px black;
position: relative;
width: 120px;
top: 120px;
left: 120px;
float: left;
}
.floating-div {
border: solid 1px red;
opacity: 0;
position: absolute;
top: 0;
left: 0;
transition: opacity .2s ease, left .1s ease;
}
.floating-div.show {
opacity: 1;
}
<div class="floating-div">
<p>i'll float!</p>
</div>
<div class="content-div">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto rerum aspernatur dolores, eos laborum illo, placeat minima, dolorum eaque perferendis ut nam eligendi quas quod minus deleniti dicta aut nemo.</p>
</div>
<div class="content-div">
<p>I'm juust another content-div! Hey hey hey</p>
</div>
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 指令的模板必须只有一个根元素:With restrict E&替换true
- HTML JavaScript,我如何能够通过给每个元素一个不同的Id来使用JavaScript使这个函数工作
- 如何创建一个独立的 DOM 元素?一个不从父母那里继承 css 等
- 如何给图像元素一个“;选择“;使用Raphael.js查看
- 如何显示隐藏的
- 元素一个接一个或全部同时
- 使用"span"创建一个自定义的基于web的文本编辑器;元素——一个坏主意
- 引导旋转木马传递元素一个接一个
- 给所有元素一个匹配数组内容的ID
- 我如何得到Json数组元素一个接一个的jquery上不同的id'
- 一次淡入附加元素一个
- 如何使用AngularJS检索外部网站的内容(一个元素一个元素)