twitter-bootstrap – 引导3崩溃可以通过编程方式打开面板后可以打开多个面板

前端之家收集整理的这篇文章主要介绍了twitter-bootstrap – 引导3崩溃可以通过编程方式打开面板后可以打开多个面板前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个引导3崩溃的问题,以编程方式打开一个面板,可以在重新打开第一个面板时保持另一个面板打开.

我的HTML:

<button type="button" class="btn showpanel">Show panel 3</button>
<button type="button" class="btn hidepanel">Hide panel 3</button>
<button type="button" class="btn openpanel">Open panel 3</button>
<button type="button" class="btn closepanel">Close panel 3</button>
<hr/>
<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel1">Panel 1</a>
            </h4>
        </div>
        <div id="panel1" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 1
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel2">Panel 2</a>
            </h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 2
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel3">Panel 3</a>
            </h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 3
            </div>
        </div>
    </div>
</div>

和一些JavaScript:

$(".hidepanel").on("click",function() {
    $("#panel3").parent().hide();
});
$(".showpanel").on("click",function() {
    $("#panel3").parent().show();
});
$(".openpanel").on("click",function() {
    $("#panel3").collapse('show');
});
$(".closepanel").on("click",function() {
    $("#panel3").collapse('hide');
});

My jsfiddle that demonstrates this issue

复制:

>点击“打开面板3”按钮.
>点击“面板2”打开它.到目前为止没有问题.
>单击“面板3”再次打开.面板2保持打开!

所以以编程方式开设面板似乎搞砸了关于面板状态的内部注册?我没有看到第三个小组的“状态变化”有什么明显的错误(它的阶级从“崩溃”变为“in”,并且按照你的预期).

解决方法

您可以为崩溃显示事件创建一个处理程序,该事件恰好在任何面板显示之前发生.

添加此项以确保在显示选定的面板之前关闭所有其他打开的面板:

$('#accordion').on('show.bs.collapse',function () {
    $('#accordion .in').collapse('hide');
});

Bootply demo

您可以在这里阅读有关崩溃事件的更多信息:http://getbootstrap.com/javascript/#collapse

原文链接:https://www.f2er.com/bootstrap/234111.html

猜你在找的Bootstrap相关文章