jQuery-打开新组时关闭其他组

jQuery-打开新组时关闭其他组,jquery,html,css,Jquery,Html,Css,请你能帮我做这件事吗,我想做的就是这个 当单击一个组时,新组将打开,而已打开的组将保持打开状态 我想关闭所有其他组,只打开活动组 示例如下所示: var accordionsMenu=$('.cd accordionsMenu'); 如果(accordionsMenu.length>0){ 手风琴菜单。每个(函数(){ var accordion=$(本); accordion.on('change','input[type=“checkbox”]”,function(){ var复选框=$(此

请你能帮我做这件事吗,我想做的就是这个

当单击一个组时,新组将打开,而已打开的组将保持打开状态

我想关闭所有其他组,只打开活动组

示例如下所示:

var accordionsMenu=$('.cd accordionsMenu');
如果(accordionsMenu.length>0){
手风琴菜单。每个(函数(){
var accordion=$(本);
accordion.on('change','input[type=“checkbox”]”,function(){
var复选框=$(此);
(checkbox.prop('checked'))?checkbox.sides('ul')。attr('style','display:none;'))。slideDown(300):checkbox.sides('ul')。attr('style','display:block;')。slideUp(300);
});
});
}
多级手风琴菜单
  • 第一组
    • 第1分组
    • 第2分组
      • 第3级分组
  • 第2组
  • 第3组
  • 第4组
    • 第3分组
更新:


信用证:@jeto

使用小提琴上的HTML,类似这样的东西应该可以工作:

$(函数(){
$('.cd手风琴菜单输入[type=“checkbox”]')
.on(‘变更’,功能(e){
//检索兄弟姐妹
  • var$samelevelsiblines=$(this.closest('li').siblines(); //取消选中相应的复选框并隐藏项目 $samelevelsides.find('input[type=“checkbox”]”)。prop('checked',false); $samelevelsides.find('ul').slideUp(300); //根据复选框状态显示或隐藏当前项目 如果($(this).is(':checked')){ $(this).glides('ul')。slideDown(300); }否则{ $(this).glides('ul').slideUp(300); } }) //隐藏加载的所有项目 .兄弟姐妹('ul').hide(); });
    
    多级手风琴菜单
    
    • 第一组
      • 第1分组
      • 第2分组
        • 第3级分组
    • 第2组
    • 第3组
    • 第4组
      • 第3分组

    请给出一个最小的示例,不包含所有不相关的样式,只包含必要的htm元素和脚本,以使手风琴行为正常工作。太棒了!谢谢,@jeto;)我确实尝试在组关闭时添加动画,$samelevelsibles.find('ul').slideUp();但是它创造了一些奇怪的跳跃。有一个选项可以添加动画并避免跳跃问题?@JustFrontend我已经编辑了片段以包含幻灯片效果。这样行吗?当您运行它时,您可能仍然会在开始时看到一个小的“跳跃”,为了避免它,只需将您的所有项目隐藏在HTML级别,这样就不必通过脚本来完成。Hi@Jeto,现在就完美了!非常感谢你的帮助@JustFrontend不客气,很乐意帮忙。请随意将答案标记为已接受。谢谢