【问题标题】:How to reuse an entire mmenu instance如何重用整个 mmenu 实例
【发布时间】:2018-06-06 06:38:49
【问题描述】:

我有这个 mmenu 实例,我在其中从 ajax 动态添加内容,正如插件页面上所述。

现在我不仅想动态添加子关卡,我还想丢弃所有关卡并在现有 mmenu 实例中添加新的第一关。

我尝试调用API.initPanels($("#mm-0")),尝试在再次初始化 mmenu 插件之前从 mmenu 添加的 DOM 元素中删除所有类,但它不会呈现正确的菜单。我添加的 UL 和 LI 保持不变。

【问题讨论】:

    标签: javascript jquery mmenu


    【解决方案1】:

    知道了,方法如下:

    API.closeAllPanels();
    var mmenuActual = API.getInstance();
    var $panels = mmenuActual.$pnls.children();
    var $updateContainer = $panels.first().find(".mm-listview");
    
    $updateContainer.replaceWith(newContent);
    $panels.not(":first").remove();
    API.initPanels($panels);
    

    首先,我们需要关闭所有面板以将 mmenu 设置回其只有顶层可见的初始状态。

    接下来,我们需要获取所有面板和第一个面板的 .mm-listview,因为这是 mmenu 渲染第一级的地方。

    然后我们用我们的新内容更新第一关的来源。更新该元素的 innerHTML 或像我一样交换它都没关系。

    其余的面板现在已经过时了,我们都扔掉了。

    最后,我们告诉 mmenu 初始化所有面板

    【讨论】:

      猜你喜欢
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2013-10-24
      • 2011-05-07
      • 1970-01-01
      相关资源
      最近更新 更多