简体   繁体   English

当使用JS或JQuery甚至引导程序单击另一个div时,如何隐藏一个div?

[英]How to i hide one div when another is clicked, with JS or JQuery or even bootstrap?

I have one main container div with a bunch of columns. 我有一个带有一堆列的主容器div。 Each of these columns have a data-toggle="collapse" attribute, and one special id data target attribute. 这些列中的每一列都具有data-toggle="collapse"属性和一个特殊的id数据目标属性。

Next, I have 6 separated div containers with columns and content inside. 接下来,我有6个分离的div容器,其中包含列和内容。

I want one div to be shown at time. 我希望一次显示一个div。 When one div is clicked the previous one is hidden. 单击一个div后,上一个将被隐藏。

This is what I did, only thing I am not sure of, is how to hide the content divs that are below the comment in: 这是我所做的,唯一不确定的是如何隐藏以下注释中的内容div:

 <div class="container-fluid"> <div class="row"> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#one"> <h1>Content 1</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data-target="#two"> <h1>Content 2</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data-target="#three"> <h1>Content 3</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data-target="#four"> <h1>Content 4</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data-target="#five"> <h1>Content 5</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data-target="#six"> <h1>Content 6</h1> </div> </div> </div> <!--Content divs below--> <div class="container-fluid"> <div class="row"> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#one"> <h1>Content 1</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#two"> <h1>Content 2</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#three"> <h1>Content 3</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#four"> <h1>Content 4</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#five"> <h1>Content 5</h1> </div> <div class="col-sm-12 col-md-4" data-toggle="collapse" data- target="#six"> <h1>Content 6</h1> </div> </div> </div> <!--Content divs below--> <div class="container collapse" id="one"> <div class="row"> <div class="col-md-4"> <h1>Content from div 1</h1> </div> </div> </div> <div class="container collapse" id="two"> <div class="row"> <div class="col-md-4"> <h1>Content from div 2</h1> </div> </div> </div> <div class="container collapse" id="three"> <div class="row"> <div class="col-md-4"> <h1>Content from div 3</h1> </div> </div> </div> <div class="container collapse" id="four"> <div class="row"> <div class="col-md-4"> <h1>Content from div 4</h1> </div> </div> </div> <div class="container collapse" id="five"> <div class="row"> <div class="col-md-4"> <h1>Content from div 5</h1> </div> </div> </div> <div class="container collapse" id="six"> <div class="row"> <div class="col-md-4"> <h1>Content from div 6</h1> </div> </div> </div> 

Below Example help you to solve your question. 下面的示例可帮助您解决问题。

 $('.top').on('click', function() { $parent_box = $(this).closest('.box'); $parent_box.siblings().find('.bottom').hide(); $parent_box.find('.bottom').toggle(); }); 
 .container .box { float: left; width: 150px; margin: 20px; } .container .box .top { padding: 12px; background-color: blue; color: white; cursor: pointer; } .container .box .bottom { padding: 12px; background-color: red; color: white; display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="box"> <div class="top"> click me </div> <div class="bottom"> door #1 </div> </div> <div class="box"> <div class="top"> click me </div> <div class="bottom"> door #2 </div> </div> <div class="box"> <div class="top"> click me </div> <div class="bottom"> door #3 </div> </div> </div> 

You should use bootsrap accordian for this otherwise you have to handle it yourself using manually hiding all content div first and then show the currently targeted div using jQuery. 您应该为此使用bootsrap Accordian,否则您必须先手动隐藏所有内容div,然后使用jQuery显示当前目标的div来自己处理它。

Also you have duplicate for the accordian links in your code. 另外,您的代码中的手风琴链接也有重复。

Here is what boostrap accordian code will look like : 这是boostrap手风琴代码的样子:

<!--Content divs below-->
<div class="container-fluid">
    <div class="row">
        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-
             target="#one">
            <h1>Content 1</h1>
        </div>
        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-
             target="#two">
            <h1>Content 2</h1>
        </div>
        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-
             target="#three">
            <h1>Content 3</h1>
        </div>
        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-
             target="#four">
            <h1>Content 4</h1>
        </div>
        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-
             target="#five">
            <h1>Content 5</h1>
        </div>

        <div class="col-sm-12 col-md-4" data-toggle="collapse"  data-                        
             target="#six">
            <h1>Content 6</h1>
        </div>
    </div>
</div>


<div class="accordion-group">

    <div class="container collapse" id="one">

        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 1</h1>
            </div>

        </div>

    </div>

    <div class="container collapse" id="two">

        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 2</h1>
            </div>

        </div>

    </div>


    <div class="container collapse" id="three">

        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 3</h1>
            </div>

        </div>


    </div>


    <div class="container collapse" id="four">

        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 4</h1>
            </div>

        </div>


    </div>


    <div class="container collapse" id="five">

        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 5</h1>
            </div>

        </div>


    </div>



    <div class="container collapse" id="six">


        <div class="row">
            <div class="col-md-4">
                <h1>Content from div 6</h1>
            </div>

        </div>


    </div>
</div>

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

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