Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重用整个mmenu实例_Javascript_Jquery_Mmenu - Fatal编程技术网

Javascript 如何重用整个mmenu实例

Javascript 如何重用整个mmenu实例,javascript,jquery,mmenu,Javascript,Jquery,Mmenu,我有一个mmenu实例,在这个实例中,我动态地从ajax添加内容,就像插件页面上所描述的那样 现在,我不仅想动态添加子级别,还想抛弃所有级别,向现有的mmenu实例添加新的第一个级别 我尝试调用API.initPanels($(“#mm-0”),我尝试在再次初始化mmenu插件之前从mmenu添加的DOM元素中删除所有类,但它不会呈现正确的菜单。我添加的UL和LIs保持不变。明白了,以下是方法: API.closeAllPanels(); var mmenuActual = API.getIns

我有一个mmenu实例,在这个实例中,我动态地从ajax添加内容,就像插件页面上所描述的那样

现在,我不仅想动态添加子级别,还想抛弃所有级别,向现有的mmenu实例添加新的第一个级别

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

明白了,以下是方法:

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初始化所有面板