简体   繁体   English

单击另一个div时如何隐藏div

[英]how hide the div when click on the another div

when I click another div it is coming down the previous div but I want it should come at the same place of the previous div without clicking the previous div(to close)当我单击另一个 div 时,它会下降到前一个 div,但我希望它应该位于前一个 div 的同一位置,而不单击前一个 div(关闭)

<div class="col-sm-6 col-lg-3 " onclick="drop_down('drop1')"> (CARD) </div>

<div class="col-sm-6 col-lg-3 " onclick="drop_down('drop2')"> (CARD) </div>

<div class="drop   col-12" id="drop1" style="display:none" >..</div>

<div class="drop   col-12" id="drop2" style="display:none" >..</div>
function drop_down(e){
    var x = document.getElementById(e);
    if(x.style.display === "none"){
        x.style.display = "block";
    }
    else{
        x.style.display = "none";
    }
}

If I understand your problem statement, you want the visible drop down to hide before the new drop down is shown.如果我理解您的问题陈述,您希望在显示新下拉列表之前隐藏可见下拉列表。

To do that, simply hide all the dropdowns before performing your logic:为此,只需在执行逻辑之前隐藏所有下拉列表:

function drop_down(e){
    var x = document.getElementById(e);
    const xIsShowing = x.style.display === "block";
    document.getElementById('drop1').style.display = 'none';
    document.getElementById('drop2').style.display = 'none';
    if(!xIsShowing) {
        x.style.display = "block";
    }
}

Something like this?像这样的东西?

 function drop_down(e){ var drop = document.getElementsByClassName('drop') for(var i = 0; i < drop.length; i++){ if(e == drop[i].id){ drop[i].style.display = "block"; } else{ drop[i].style.display = "none"; } } }
 <div class="col-sm-6 col-lg-3" onclick="drop_down('drop1')"> (CARD) </div> <div class="col-sm-6 col-lg-3" onclick="drop_down('drop2')"> (CARD) </div> <div class="drop col-12" id="drop1" style="display:none" >Div one</div> <div class="drop col-12" id="drop2" style="display:none" >Div two</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM