Javascript Accordion jQuery-一次打开一个项目并关闭其他项目

Javascript Accordion jQuery-一次打开一个项目并关闭其他项目,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经创建了一个简单的手风琴,目前每个项目都在打开,但我想一次打开一个项目,并关闭其他项目,如果打开 $.title.onclick,function e{ e、 防止违约; $this.toggleClass'title-mob-minus';//这是用于图标的 $this.next.slideToggle; 返回false; }; .链接列表{ 浮动:左; 宽度:100%; 边缘底部:10px; } .头衔{ 浮动:左; 宽度:100%; } .link-list\u项目{ 浮动:左; 宽

我已经创建了一个简单的手风琴,目前每个项目都在打开,但我想一次打开一个项目,并关闭其他项目,如果打开

$.title.onclick,function e{ e、 防止违约; $this.toggleClass'title-mob-minus';//这是用于图标的 $this.next.slideToggle; 返回false; }; .链接列表{ 浮动:左; 宽度:100%; 边缘底部:10px; } .头衔{ 浮动:左; 宽度:100%; } .link-list\u项目{ 浮动:左; 宽度:100%; 显示:无; } .link-list\uuuu项目ul{ 保证金:0; 填充:0; 列表样式:无; } .link-list\u项目ul li{ 列表样式:无; 显示:块; 左侧填充:10px; } 改变

$.title.onclick,function e{ e、 防止违约; $this.toggleClass'title-mob-minus';//这是用于图标的 $.link-list\u项目。而不是$this.next.slideUp; $this.next.slideToggle; 返回false; }; .链接列表{ 浮动:左; 宽度:100%; 边缘底部:10px; } .头衔{ 浮动:左; 宽度:100%; } .link-list\u项目{ 浮动:左; 宽度:100%; 显示:无; } .link-list\uuuu项目ul{ 保证金:0; 填充:0; 列表样式:无; } .link-list\u项目ul li{ 列表样式:无; 显示:块; 左侧填充:10px; } $.title.onclick,function e{ e、 防止违约; $this.toggleClass'title-mob-minus';//这是用于图标的 //隐藏所有列表项 $.link-list\uuu items.hide; //显示同级列表项 $this.next.slideToggle; 返回false; }; .链接列表{ 浮动:左; 宽度:100%; 边缘底部:10px; } .头衔{ 浮动:左; 宽度:100%; } .link-list\u项目{ 浮动:左; 宽度:100%; 显示:无; } .link-list\uuuu项目ul{ 保证金:0; 填充:0; 列表样式:无; } .link-list\u项目ul li{ 列表样式:无; 显示:块; 左侧填充:10px; }
提取切换逻辑,然后在单击手风琴时,关闭所有打开的手风琴,然后切换单击的手风琴

函数切换标题$titles{ $titles.toggleClass'title-mob-minus';//这是用于图标的 $titles.next.slideToggle; } var$allTitles=$.title.onclick,functione{ e、 防止违约; //折叠打开的所有其他手风琴 toggleTitles$allTitles.notthis.filter'.title mob减号'; //拨动手风琴 切换$this; }; .链接列表{ 浮动:左; 宽度:100%; 边缘底部:10px; } .头衔{ 浮动:左; 宽度:100%; } .link-list\u项目{ 浮动:左; 宽度:100%; 显示:无; } .link-list\uuuu项目ul{ 保证金:0; 填充:0; 列表样式:无; } .link-list\u项目ul li{ 列表样式:无; 显示:块; 左侧填充:10px; }
OP也应该从标题中删除标题mob减号,这完全符合我的要求,甚至图标的切换类也可以正常工作。谢谢
$(this).next().slideToggle();
$(".link-list__items").not($(this).next()).slideUp();
$(this).next().slideToggle();