mmenu:滑动菜单清除次级别的标题

时间:2016-08-29 16:11:11

标签: javascript html title slide mmenu

我正在尝试将 mmenu 用于应用程序,除菜单标题外,一切都很顺利。

目前,菜单中有1个父项“菜单A”,菜单层次结构如下:

  • 菜单A

    • A1
      • A1A
    • A2
      • A2A
      • A2B

第一级('菜单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插件用空字符串覆盖标题(参见上面第三步的链接)。它必须有某种事件在这之后发射,使我完全没用。

如何解决这个问题?

0 个答案:

没有答案