javascript - Bootstrap 3 Collapse - 添加事件类以打开面板

标签 javascript jquery html css twitter-bootstrap

首先是 fiddle :http://jsfiddle.net/krish7878/h38jn324/

单击面板时的简单问题(它会展开以显示其各自的内容),需要将类“事件”添加到“面板标题”。

我发现了类似的问题,但这些解决方案似乎都不起作用(奇怪的是)。任何帮助,将不胜感激。

HTML代码:

<div class="accordion-2 panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                    Our Mission
                </a>
            </h4>
        </div><!-- /.panel-heading -->
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
                <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.</p>
            </div>
        </div><!-- /#collapseOne -->
    </div><!-- /.panel -->
<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
                Success Stories
            </a>
        </h4>
    </div><!-- /.panel-heading -->
    <div id="collapseTwo" class="panel-collapse collapse">
        <div class="panel-body">
            <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.</p>
        </div><!-- /.panel-body -->
    </div><!-- /#collapseTwo -->
</div><!-- /.panel -->
<div class="panel panel-default last">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
                Our Story
            </a>
        </h4>
    </div><!-- /.panel-heading -->
    <div id="collapseThree" class="panel-collapse collapse">
        <div class="panel-body">
            <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.</p>
        </div><!-- /.panel-body -->
    </div><!-- /#collapseTwo -->
</div><!-- /.panel -->

JS代码:

jQuery('.accordion-2 .panel-heading a[data-toggle="collapse"]').on('click', function () {   
jQuery('.accordion-2 .panel-heading a[data-toggle="collapse"]').removeClass('actives');
$(this).addClass('actives');

});

最佳答案

试试这个:

$('.panel-heading a').click(function() {
    $('.panel-heading').removeClass('active');
    if(!$(this).closest('.panel').find('.panel-collapse').hasClass('in'))
        $(this).parents('.panel-heading').addClass('active');
});

Check JSFiddle Demo

更新 1: 要在第一次加载时将面板设置为默认激活,只需将 active 类手动添加到 HTML 代码中的 panel-heading

更新 2: 尽管此答案被标记为已接受答案,但我强烈建议您也查看 Blizwire 答案。

关于javascript - Bootstrap 3 Collapse - 添加事件类以打开面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25458074/

相关文章:

javascript - jquery:在 mouseenter 上删除堆叠在另一个 <div> 之上的 <div> 并在 mouseleave 上恢复该 <div>

javascript - 特殊字符无法在 html 按钮标题中正确显示

html - 最后一个<a>元素的XPath表达式,其“href”属性以数字开头?

javascript - BrightCove 智能播放器 API HTML 回退失败

javascript - 我如何破坏自动图像蒙太奇 jQuery 插件的自动调整大小功能?

javascript - 在显示 JavaScript 中的绑定(bind)属性之前对其进行格式化

javascript - Angular 2-RC4 动态内容加载

javascript - 使用 PrimePush 时 FF 错误控制台出现 "not-well-formed"错误

java - 当我完成更改时,JQuery 对话框会自动更新表中的数据

javascript - bootstrap模态点击div出现一次