我正在尝试将 mmenu 用于应用程序,除菜单标题外,一切都很顺利。
目前,菜单中有1个父项“菜单A”,菜单层次结构如下:
菜单A
第一级('菜单A')滑入第二级(带有'A1'和'A2'的新菜单)。第三级是垂直的,并在其父级下扩展。接下来会出现更多图形细节。
第一步(对不起,我只允许发布2个链接,所以我删除了这个截图):菜单的初始状态是父项A,没有标题。的确定
Second step:点击父级后,标题将变为“菜单A”,子项将加载到菜单中。的确定
Third step:最后,当我点击从上一步加载的子项时,标题消失,我不知道为什么。 不行任何想法?
以下是我的菜单的javascript和HTML代码:
$("#navigation").mmenu(
{ // options
"extensions": [
"border-full",
"multiline",
"iconbar"
],
navbar: {
title: ''
},
navbars: [
{
position : 'top',
content : ['prev','title']
}
],
},
{ // configuration
offCanvas: {
pageSelector: "#wrapper",
wrapPageIfNeeded: false
}
}
);
<nav class="sort-pages modify-pages" id="navigation">
<ul>
<li class="">
<span>
<span>Menu A</span>
</span>
<ul class="child-menu" id="sub-0">
<li class="">
<span>
<span>A1</span>
</span>
<ul class="child-menu mm-vertical" id="sub-sub-1">
<li class="MenuTransactionLink">
<a href="#" link="a1a">
<span>A1a</span>
</a>
</li>
</ul>
</li>
<li class="">
<span>
<span>A2</span>
</span>
<ul class="child-menu mm-vertical" id="sub-sub-2">
<li class="MenuTransactionLink">
<a href="#" link="a2a">
<span>A2a</span>
</a>
</li>
<li class="MenuTransactionLink">
<a href="#" link="a2b">
<span>A2b</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
如果需要,我很乐意为您提供更多详细信息。
根据开发人员的Github问题列表,我特别发现了这一点:
我认为这是因为“垂直”面板(当你使用slidingSubmenus时所有面板:false)都没有导航栏。我会看看能不能做些什么。 现在,我想这可能是滑动的子节目还是没有标题。
(来源:github.com/FrDH/jQuery.mmenu/issues/535)
我甚至尝试使用Javascript强制它,将'on click'事件绑定到菜单项:
$('nav a.mm-fullsubopen').on('click', function (e){
var title = $('#navigation').find('.mm-title')[0];
title.text = $('#' + $('.mm-opened.mm-panel.mm-highest').attr('id')).find('.mm-title').text();
$(title).removeClass('mm-hidden')
});
这可以工作几毫秒,直到mmenu插件用空字符串覆盖标题(参见上面第三步的链接)。它必须有某种事件在这之后发射,使我完全没用。
如何解决这个问题?