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不客气,很乐意帮忙。请随意将答案标记为已接受。谢谢