mmenu:一次只展开一个子菜单(slidingSubmenus:false)
mmenu: expand only one submenu at a time (slidingSubmenus: false)
我喜欢在我的 Web 项目中使用 mmenu: http://mmenu.frebsite.nl/。我应该设置 slidingSubmenus: false
但为了保存垂直 space,我应该自动折叠之前展开的子菜单,如果展开了一个新的子菜单——即当时只展开一个子菜单。
这些是客户的要求。
请看这个例子:http://plnkr.co/edit/O2CCBYuXtxnHH7wbdqMa?p=preview [1]
如果我们展开关于我们,那么关于我们2,应该收起第一个。
是否可以使用本机设置或使用简单的技巧?
我也找到了 ,但我希望有一个更简洁的解决方案
- 巴德拉
[1]
感谢 ankoehn(https://whosebug.com/users/5174279/ankoehn) for his answer (这是我的 plunker 的基础 - 我还需要 AngularJS 的解决方案)。
由于您使用的是 jQuery,您可以添加一些 jQuery 来执行此操作:
jQuery(document).ready(function(){
$('.mm-next').click(function(){
var myMenu = $(this).closest('.mm-vertical');
$('.mm-vertical').not(myMenu).removeClass('mm-opened');
})
})
更新了 plunker http://plnkr.co/edit/3kr45X8fPnGMo64wXc7j?p=preview
这只是将已打开的 class 从当前打开的项目以外的项目中删除。
此修正案允许在任何级别一次只打开一个子菜单。
$('.mm-next').click(function(){
var myMenu = $(this).closest('.mm-vertical');
myMenu.parent().children('.mm-vertical').not(myMenu).removeClass('mm-opened');
})
http://plnkr.co/edit/axlVAHBb38boNMoqxJ1D?p=preview
(我的第一个 plnkr 和 SO 回答,希望它有用:)
我喜欢在我的 Web 项目中使用 mmenu: http://mmenu.frebsite.nl/。我应该设置 slidingSubmenus: false
但为了保存垂直 space,我应该自动折叠之前展开的子菜单,如果展开了一个新的子菜单——即当时只展开一个子菜单。
这些是客户的要求。
请看这个例子:http://plnkr.co/edit/O2CCBYuXtxnHH7wbdqMa?p=preview [1]
如果我们展开关于我们,那么关于我们2,应该收起第一个。
是否可以使用本机设置或使用简单的技巧?
我也找到了
- 巴德拉
[1]
感谢 ankoehn(https://whosebug.com/users/5174279/ankoehn) for his answer
由于您使用的是 jQuery,您可以添加一些 jQuery 来执行此操作:
jQuery(document).ready(function(){
$('.mm-next').click(function(){
var myMenu = $(this).closest('.mm-vertical');
$('.mm-vertical').not(myMenu).removeClass('mm-opened');
})
})
更新了 plunker http://plnkr.co/edit/3kr45X8fPnGMo64wXc7j?p=preview
这只是将已打开的 class 从当前打开的项目以外的项目中删除。
此修正案允许在任何级别一次只打开一个子菜单。
$('.mm-next').click(function(){
var myMenu = $(this).closest('.mm-vertical');
myMenu.parent().children('.mm-vertical').not(myMenu).removeClass('mm-opened');
})
http://plnkr.co/edit/axlVAHBb38boNMoqxJ1D?p=preview (我的第一个 plnkr 和 SO 回答,希望它有用:)