twitter-bootstrap - Bootstrap 折叠面板默认关闭

标签 twitter-bootstrap twitter-bootstrap-3

我使用 Bootstrap 面板,并添加了一个跨度可点击图标:当面板主体打开时加号,当面板主体关闭时减号,我现在的问题是如何将其设置为默认关闭(加号图标默认显示,当我单击它面板主体将打开)

在我的代码上方执行此操作,在此先感谢您的帮助。

<html>

<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script>
$(document).on('click', '.panel-heading span.clickable', function (e) {
    var $this = $(this);
    if (!$this.hasClass('panel-collapsed')) {

        $this.parents('.panel').find('.panel-body').slideUp();
        $this.addClass('panel-collapsed');
        $this.find('i').removeClass('glyphicon-minus').addClass('glyphicon-plus');
    } else {
    console.log($this);

        $this.parents('.panel').find('.panel-body').slideDown();
        $this.removeClass('panel-collapsed');
        $this.find('i').removeClass('glyphicon-plus').addClass('glyphicon-minus');
    }
});
</script>
<style>

.clickable
{
    cursor: pointer;
}

.clickable .glyphicon
{
    background: rgba(0, 0, 0, 0.15);
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px
}

.panel-heading span
{
    margin-top: -23px;
    font-size: 15px;
    margin-right: -9px;
}
</style>
</head>
 <body>
 <div class="container">
    <div class="row">
        <div class="col-md-6">
            <div class="panel panel-primary">
                <div class="panel-heading">
                    <h3 class="panel-title">
                        Panel 1</h3>
                    <span class="pull-right clickable panel-collapsed in"><i class="glyphicon glyphicon-plus"></i></span>
                </div>
                <div class="panel-body">
                    Panel content</div>
            </div>
        </div>

        </div>
    </div>
 </body>

</html>

最佳答案

你只需要改变这个:

<div class="panel-body">

对此:
<div class="panel-body"  style="display:none;">

并通过slideDown() 改变slideUp(),通过slideUp() 改变slideDown()。

也改变这个:
<span class="pull-right clickable collapse in"><i class="glyphicon glyphicon-plus"></i></span>

对此:
<span class="pull-right clickable collapse in"><i class="glyphicon glyphicon-minus"></i></span>

正如您现在在问题中提到的那样,一切都应该正常工作。

这是一个 JSFiddle 链接:Try It

关于twitter-bootstrap - Bootstrap 折叠面板默认关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31608304/

相关文章:

css - Twitter Bootstrap 导航单个菜单项颜色

javascript - 如何在 x 秒后自动重新加载页面并重新提交表单数据

jquery - Twitter bootstrap 附加无限滚动和 window.resize

html - 如何设计 html 5 下拉菜单

css - 从 Bootstrap anchor 链接中删除默认样式

css - 下拉菜单父级被joomla中的bootstrap隐藏

javascript - 在所有元素上触发的主干事件监听器

css - 如何更改 Bootstrap 下拉列表的形式?

javascript - Jquery 单击函数不适用于弹出框内的按钮

jquery - 将 3rd 方 jquery 库与 vueJS 和 webpack 结合使用