javascript - 我如何让按钮折叠该部分?

标签 javascript jquery html css twitter-bootstrap

现在我在我网页上的几个地方使用这个 Accordion 按钮。目前,当它打开时,如果您单击 Accordion 内的任何地方,它就会折叠。我想让 Accordion 的顶部,实际上是按钮部分折叠起来,这样我就可以在 Accordion 内容中添加链接和其他内容。 https://jsfiddle.net/nc4euge3/

这是一些代码,因为没有它就无法链接到 js fiddle :

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<div class="accordion">
    <div class="accordion-item">
        <div class="accordion-button">
            <h3>
            <div class="accordion-marker"><i class="fa fa-plus"></i></div><span class="question">Thing #1</span>
        </h3>
    </div>
    <p>
        text text text text text text text
        text text text text text text text
        text text text text text text text
        text text text text text text text
        text text text text text text text
        text text text text text text text
        text text text text text text text
        text text text text text text text
    </p>
</div>

最佳答案

您需要在那里进行一些小的调整 - 聆听按钮的点击,而不是整个 Accordion 元素。

查看演示 - https://fiddle.jshell.net/ermakovnikolay/nc4euge3/2/

$(document).ready(function () {
    var $accordion = $('.accordion .accordion-item');
    $('.accordion-button').click(function () { /* change to the button */
        var $this = $(this).parent();  /* update to get the accordion item container */
        if ($this.hasClass('active')) {
            $this.removeClass('active').find('i').removeClass('fa-minus').addClass('fa-plus');
        } else {
            $accordion.removeClass('active');
            $this.addClass('active');
            $accordion.find('i').removeClass('fa-minus').addClass('fa-plus');
            $this.find('i').addClass('fa-minus')
        }
    });
});

关于javascript - 我如何让按钮折叠该部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42015126/

相关文章:

javascript - 如何使用正则表达式按空格拆分字符串并忽略前导和尾随空格到单词数组中?

javascript - 如何根据小时和分钟加载站点

javascript - 右键单击时显示便签

c# - 在 Jquery UI 多选小部件中回发后,所选项目仍保持选中状态

jquery - jqGrid 自定义 onCellSelect 在SaveCell 之前不触发

javascript - 在已经完全加载的 Controller 之后加载 AngularJS 指令

javascript - 当屏幕尺寸小于500px时,使用javascript垂直堆叠图像

javascript - 如何将突出显示的导航项更改为蓝色背景而不是移动 View 中的蓝色边框底部

jquery - 为什么我的 Jquery 代码不能在我的下拉列表中多次运行?

javascript - 作为单击处理程序附加的函数在单击之前被调用