javascript - jQuery Accordion 选项卡不会关闭

标签 javascript jquery html css

有人可以解释为什么我的 jQuery Accordion 没有关闭吗?

查看在页面加载时打开 的选项卡。当我尝试关闭时,它会不断重新打开。帮忙?!

http://jsfiddle.net/02vz11f0/

这是我的 jQuery:

$(document).ready(function ($) {
    $('#accordion').find('.accordion-toggle').click(function () {
        $(this).next().slideToggle('fast', function () {
            var status = $(this).is(':hidden') ? 'open' : 'close';
            $(this).prev('h4').find('.accordion-status').html(status);
        });
    });
});

CSS:

/* Separate component file for Accordion? */

/* line 72, sass/_layout.scss */
 #accordion {
    width: 100%;
}
/* line 73, sass/_layout.scss */
 .accordion-content {
    display: none;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 50px;
}
/* line 80, sass/_layout.scss */
 .accordion-content.default {
    display: block !important;
}
/* line 82, sass/_layout.scss */
 .accordion-status {
    position: absolute;
    top: 30px;
    right: 30px;
}
/* line 88, sass/_layout.scss */
 .accordion-toggle {
    cursor: pointer;
    position: relative;
    padding: 35px 60px 35px 0;
    margin: 0;
}
/* line 94, sass/_layout.scss */
 .accordion-toggle span {
    margin-left: 60px;
    color: #ffffff;
}

最佳答案

您需要从 .slideToggle() 回调中的元素中删除 default 类。

Updated Example

$('#accordion').find('.accordion-toggle').click(function () {
    $(this).next().slideToggle('fast', function () {
        var status = $(this).is(':hidden') ? 'open' : 'close';
        $(this).removeClass('default').prev('h4').find('.accordion-status').html(status);
    });
});

在您的 CSS 中,您有以下内容:

.accordion-content.default {
    display: block !important;
}

阻止内容被切换。

您也可以只删除 !important,它也会按预期工作。您应该尽可能避免使用它。

关于javascript - jQuery Accordion 选项卡不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549819/

相关文章:

html - 文本中没有换行符的工具提示(仅限 css)

选择元素选择的 Javascript 事件

javascript - 同时运行多个超时

javascript - Jquery AJAX 正在工作,但显示的消息有问题

javascript - 单击另一个类时如何删除/添加类?

javascript - 修复验证表单中的输入错误和延续问题

php - 我正在尝试使用 PHP 制作编辑表单

javascript - 如何通过ajax获取另一个页面的html标签中打印的JavaScript信息?

javascript - 机器人框架 v4 : send slack blocks in channelData property not working

python - 如何从 jquery ajax 调用 python 处理程序?