css jQuery accordion没有按预期的方式放下

ntjbwcob  于 2022-11-27  发布在  jQuery
关注(0)|答案(1)|浏览(131)

我目前正在建设一个网站,其中包含一个 accordion 菜单。
我的问题是以下,当我点击所需的项目,必须折叠它确实折叠,但它回到未折叠后,它折叠。

$(document).ready(function(){
    $(".set > a").on("click", function(){
        if($(this).hasClass('active')){
            $(this).removeClass("active");
            $(this).siblings('.content').slideUp(200);
            $(".set > a i").removeClass("fa-minus").addClass("fa-plus");
        }else{
            $(".set > a i").removeClass("fa-minus").addClass("fa-plus");
            $(this).find("i").removeClass("fa-plus").addClass("fa-minus");
            $(".set > a").removeClass("active");
            $(this).addClass("active");
            $('.content').slideUp(200);
            $(this).siblings('.content').slideDown(200);
        }

    });
});

Here is the code (jsfiddle)
这段代码以前工作得很好,但由于某种原因,它坏了,不再工作了。
我希望有人能帮我。

nvbavucw

nvbavucw1#

我认为在某个地方沿着你已经交换了你的 accordion 开始打开(即删除了最初隐藏它的样式),所以你的else中的以下行既打开又关闭它:

$('.content').slideUp(200);
    $(this).siblings('.content').slideDown(200);

如果您在开始时打开了accordion,则需要从链接上的活动类开始:
第一次
我还清理了您的jQuery并修复了您的else

相关问题