垂直手风琴菜单重置活动状态点击

时间:2016-07-23 01:46:52

标签: javascript onclick accordion

$(document).ready(function() {

    var accordion_head = $('.accordion > li > a'),
        accordion_body = $('.accordion li > .sub-menu');

    /* accordion_head.first().addClass('active').next().slideDown('normal'); */

    accordion_head.on('click', function(event) {

        event.preventDefault();

        if ($(this).attr('class') != 'active'){
            accordion_body.slideUp('normal');
            $(this).next().stop(true,true).slideToggle('normal');
            accordion_head.removeClass('active');
            $(this).addClass('active');
        }

    });

});

我已经尝试了几次尝试@获得活跃的手风琴标题在点击时关闭但似乎无法解决:(

提前致谢 史蒂芬

$(document).ready(function() {

    var accordion_head = $('.accordion > li > a'),
        accordion_body = $('.accordion li > .sub-menu');

    /* accordion_head.first().addClass('active').next().slideDown('normal'); */

    accordion_head.on('click', function(event) {

        event.preventDefault();

        if ($(this).attr('class') != 'active'){
            accordion_body.slideUp('normal');
            $(this).next().stop(true,true).slideToggle('normal');
            accordion_head.removeClass('active');
            $(this).addClass('active');
        } else {
            accordion_body.slideUp('normal');
            accordion_head.removeClass('active');
        }

    });

});

经过一段时间的搜索,而不是Javascript上的任何类型的声音,我最终想通了。这是一个工作版:)为像我这样的偷看:)享受

1 个答案:

答案 0 :(得分:0)

您可以使用以下行从accordion_head中删除活动类:

accordion_head.removeClass('active');

然后立即将此行添加回此行:

$(this).addClass('active');

我怀疑你不想重新添加活动类?

尝试:

accordion_head.on('click',function(event){

    event.preventDefault();

    if ($(this).attr('class') != 'active'){
        accordion_body.slideUp('normal');
        $(this).next().stop(true,true).slideToggle('normal');
        $(this).addClass('active');
    }
    else {
      // Other code that applies when accordion_head is not active
      accordion_head.removeClass('active');
    }

});