我为手风琴式菜单设置了一个简单的幻灯片切换。
如果li
包含课程.menu-item-has-children
,则点击将滑动.sub-menu
内的li
:
$(".menu-item-has-children").unbind('click').click(function(){
$(".menu-item-has-children > a").toggleClass("sub-open");
$(this).children(".sub-menu").slideToggle();
});
如果点击另一个menu-item-has-children
的课程,它会关闭我之前打开的课程,打开我刚刚点击的课程。
所以基本上是一个手风琴,在打开新手风琴之前关闭一个已经折叠/打开的手风琴。但这些可能会出现在页面的其他位置,例如,不会出现相同的列表。
答案 0 :(得分:2)
您可以slideUp()
其他menu-item
元素的子菜单。
$(".menu-item-has-children").unbind('click').click(function(){
//Find other menu items
var otherMenuItems = $(".menu-item-has-children").not($(this));
//Find children and perform Slideup sub-menus and remove sub-open class
otherMenuItems.children(".sub-menu").slideUp();
otherMenuItems.children("a").removeClass("sub-open");
$(this).children("a").toggleClass("sub-open");
$(this).children(".sub-menu").slideToggle();
});