Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取元素的位置,并使用javascript在其后面显示一个div_Javascript_Html - Fatal编程技术网

获取元素的位置,并使用javascript在其后面显示一个div

获取元素的位置,并使用javascript在其后面显示一个div,javascript,html,Javascript,Html,我有10个不同的按钮,我想在用户按下的按钮下方显示一个隐藏的div。div当前正显示在块上,div的代码不包括使用新跳线顶部:左侧: 函数调用: <img style="position:relative;float:right;padding-top:7px;" onclick="find_pos(this)" src="images/view_comments.png"></li></a> function find_pos(ele) {

我有10个不同的按钮,我想在用户按下的按钮下方显示一个隐藏的div。div当前正显示在块上,div的代码不包括使用新跳线顶部:左侧:

函数调用:

<img style="position:relative;float:right;padding-top:7px;" onclick="find_pos(this)" src="images/view_comments.png"></li></a>



function find_pos(ele) {

    var x=0;
    var y=0;
    while(true){
        x += ele.offsetLeft;
        y += ele.offsetTop;
        if(ele.offsetParent === null){
            break;
        }
        ele = ele.offsetParent;
    }
hidden_comment_form.style.display='block';
hidden_comment_form.style.top=y;
hidden_comment_form.style.left=x;
}

功能查找位置(ele){
var x=0;
var y=0;
while(true){
x+=元素偏移量;
y+=元素偏移量;
if(ele.offsetParent==null){
打破
}
ele=ele.offsetParent;
}
隐藏的\注释\表单.style.display='block';
隐藏的\u注释\u form.style.top=y;
隐藏的\u注释\u form.style.left=x;
}
我给你两个选择: 备选案文1:

<div class="main">
<button class="btn">a</button>
<div class="toggle"> a toggle this </div>
</div>
<div class="main">
  <button class="btn">b</button>
  <div class="toggle"> b toggle this </div>
</div>
<script>
$(document).ready(function() {
   $('button.btn').on('click', function() {
      var $div =  $(this).siblings('.toggle');
      $div.toggle();
   })
 })
</script>

A.
a切换此选项
B
b切换这个
$(文档).ready(函数(){
$('button.btn')。在('click',function()上{
var$div=$(this.sillides('.toggle');
$div.toggle();
})
})
备选案文2:

<button class="btn">a</button>
<div class="toggle"> a toggle this </div>

<button class="btn">b</button>
<div class="toggle"> b toggle this </div>
<script>
$(document).ready(function() {
 $('button.btn').on('click', function() {
      var $div =  $(this).next();
      $div.toggle();
  })
})
</script>
a
a切换此选项
B
b切换这个
$(文档).ready(函数(){
$('button.btn')。在('click',function()上{
var$div=$(this.next();
$div.toggle();
})
})

我建议选项1更好

,但这意味着我必须c/p我想在按钮后面显示的代码。有没有办法只抓取按钮的坐标并在按钮后面显示绝对位置?第一个选项可以访问任何
div
,只需将它放在同一级别的
按钮中
,并且
同级按钮
工作正常。或者您想要的是可以在没有规则的情况下在随机位置隐藏/显示
div
?想要隐藏/显示包含表单的巨大div,就在按钮之后。按照你的方式,我想我必须将那个巨大的div c/p 10次,然后让它隐形。对吧?这取决于你。绑定要切换的类,然后使用
同级(classToggle)
,它将切换所有
具有类的类
classToggle
使用
按钮放入示例级别