jQuery手风琴不';不要像那样掉下去';应该是的

jQuery手风琴不';不要像那样掉下去';应该是的,jquery,html,css,accordion,collapse,Jquery,Html,Css,Accordion,Collapse,我目前正在建立一个网站,其中包含一个手风琴菜单 我的问题是,当我单击需要折叠的项目时,它确实会折叠,但折叠后会返回到未折叠状态 $(document).ready(function(){ $(".set > a").on("click", function(){ if($(this).hasClass('active')){ $(this).removeClass("active"); $(this).siblings

我目前正在建立一个网站,其中包含一个手风琴菜单

我的问题是,当我单击需要折叠的项目时,它确实会折叠,但折叠后会返回到未折叠状态

$(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);
        }

    });
});

这段代码过去工作得很好,但由于某种原因它坏了,不再工作了


我希望有人能帮我。

我想在某些方面你已经交换了手风琴,开始打开(即删除了最初隐藏手风琴的样式),因此你的
else
中的以下几行同时打开和关闭手风琴:

    $('.content').slideUp(200);
    $(this).siblings('.content').slideDown(200);
如果开始时手风琴处于打开状态,则需要从链接上的活动类开始:

$(文档).ready(函数(){
$(“.set>a”)。在(“单击”,函数(){
var-link=$(这个);
if(link.hasClass('active')){
link.next('.content').slideUp(200,function(){
link.children('i')。removeClass(“fa减”)。addClass(“fa加”);
link.removeClass(“活动”);
});
}否则{
link.next('.content').slideDown(200,function(){
link.children('i')。removeClass(“fa plus”)。addClass(“fa减号”);
link.addClass(“活动”);
});
}
});
});

  • Witte vloer
    • Witte vloer
  • Zwarte vloer
  • Grijze vloer
  • Paarse vloer

谢谢你,皮特。它确实有效。(默认情况下,所有手风琴都已关闭)但如果我现在单击其他项目之一,它不会关闭已打开的项目。摆弄您发送的代码,现在它完全按照我的要求执行!谢谢!如果您感兴趣,我是这样做的,不确定它的语法是否正确,但它的工作方式与现在应该的工作方式相同。如果您希望代码在默认情况下关闭,则只需删除我添加的活动类并启动
。内容
使用
display:none