javascript - jQuery slideToggle 菜单在打开/关闭自身之前折叠同级菜单

标签 javascript jquery algorithm

这是我正在处理的粗略示例:http://jsfiddle.net/dX2ux/1/

客户内部开发的 CMS 使用此 HTML 结构动态创建菜单。它还附带示例中显示的 jQuery 脚本。

我想编辑脚本,以便它在切换自身打开之前关闭它的同级打开的菜单。 show 类也必须切换。

到目前为止,我已经想出了这个:http://jsfiddle.net/dX2ux/2/

但是如果您尝试使用它,当您单击其中一个子菜单时它会搞砸。

任何人都可以阐明我如何实现我的目标行为吗?另外,这是最好的方法吗?我是不是想多了?

感谢任何帮助。谢谢。

最佳答案

不确定这本身是否是“最佳”方式,但使用那种标记,此解决方案应该可行:

$('.toggle-menu').on('click',function(e){
    e.preventDefault();
    $(this).parent().siblings().children('.toggle-menu').removeClass('show').next().slideUp();
    $(this).toggleClass('show').next().slideToggle();
});

编辑你的 fiddle 以显示效果:http://jsfiddle.net/dX2ux/3/

关于javascript - jQuery slideToggle 菜单在打开/关闭自身之前折叠同级菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14786699/

相关文章:

javascript - 到另一个组件的门户

javascript - 调整 droppable 的大小在 Mozilla 中不起作用

javascript - 倍数上的按钮切换文本

python - 改进DNA比对去间隙的代码设计

c++ - 在 C++ 中查找序列中的第 N 项

javascript - meteor .js : Error not caught on client in method call

JavaScript:为什么我的闭包不起作用?

javascript - 通过解析 XML 通过多个过滤器过滤 UL

javascript - 从 Jquery 触发点击不起作用

algorithm - 旧 Top Coder 谜语的复杂性 : Making a number by inserting +