bootstrap:collapse-group中的collapse-group

时间:2013-03-21 10:12:54

标签: javascript jquery html twitter-bootstrap collapsable

我使用jsfiddle 68RXP collapse-group中的示例创建了一个可扩展的div:

HTML:

<div class="span4 collapse-group">
     <h2>Heading</h2>
     <p class="collapse">Lorem ipsum</p>
     <p><a class="btn" href="#">View details &raquo;</a></p>
</div>

使用Javascript:

$('.row .btn').on('click', function(e) {
    e.preventDefault();
    var $this = $(this);
    var $collapse = $this.closest('.collapse-group').find('.collapse');
    $collapse.collapse('toggle');
});

按下btn后,p类会在展开和折叠模式之间切换。

我尝试对递归可折叠div使用相同的概念:

<div class="collapse-group">
    <p><a class="btn" href="#">Open outer div &raquo;</a></p>
    <div class="collapse">
        <h2>Outer div title</h2>
        <p>Outer div text</p>
        <div class="collapse-group">
            <p><a class="btn" href="#">Open inner div &raquo;</a></p>
            <div class="collapse">
                <h2>Inner div title</h2>
                <p>Inner div text</p>
             </div>
         </div>
    </div>
</div>

与以前相同的js代码,请参阅jsFiddle WdbUe

第一次打开外部可折叠div时,内部div也会打开。 如何将每个expand按钮耦合到单个可折叠div?

1 个答案:

答案 0 :(得分:4)

我使用data-toggle="collapse" data-target="#some_id"和每个可折叠div的不同ID:

<div class="container">
    <div class="hero-unit">
        <h2>Bootstrap-jQuery collapse example</h2>
        <p>Based on <a href="http://jsfiddle.net/Sherbrow/68RXP/">fiddle 68RXP</a></p>  
        <div class="collapse-group">
            <p><a class="btn" data-toggle="collapse" data-target="#demoout">Open outer div &raquo;</a></p>
            <div class="collapse in" id="demoout">
                <h1>Outer div title</h1>
                <p>Outer div text</p>

                <div class="collapse-group">
                    <p><a class="btn" data-toggle="collapse" data-target="#demoin">Open inner div &raquo;</a></p>
                    <div class="collapse in"  id="demoin">
                        <h2>Inner div title</h2>
                        <p>Inner div text</p>

                     <div class="collapse-group">
                    <p><a class="btn" data-toggle="collapse" data-target="#demoinin">Open inner div &raquo;</a></p>
                    <div class="collapse in"  id="demoinin">
                        <h3>Inner-inner div title</h3>
                        <p>Inner-inner div text</p>
                    </div>
                    </div>    
                    </div>
                 </div>
            </div>
        </div>
    </div>
</div>

使用此js代码:

$(document).ready(function(){
          $(".collapse").collapse();
});

工作示例:jsfiddle K63P3

信用:aximay@jsbin