【问题标题】:jQuery mmenu open submenu from outside the menu structurejQuery mmenu 从菜单结构外部打开子菜单
【发布时间】:2018-09-23 13:15:30
【问题描述】:

我正在尝试找出一种从 mmenu 结构外部触发子菜单的方法。

使用直接引用 mmenu id 的链接打开子菜单不起作用:

<div class="content">
   <a href="#mm-2">Open submenu from here</a>
</div>

http://jsfiddle.net/9FdXv/40/

【问题讨论】:

  • 请尽量在您的帖子中添加尽可能多的信息,以避免依赖外部链接。

标签: jquery mmenu


【解决方案1】:

将 ID external 或您喜欢的任何内容添加到外部锚点。还要在ul 中添加一个ID,构成您的“80% werken”菜单。 (在这个例子中,我使用了80_sub)。现在将以下内容添加到您的 js 脚本中:

$('#external').click(function(ev) {
    ev.preventDefault(); //Avoid mmenu to get the click and close
    var api = $("#my-menu").data( "mmenu" );
    api.openPanel( $("#80_sub") );
});

我们正在使用API 手动操作菜单。

编辑:Working example based on your fiddle

【讨论】:

  • 感谢@GSystemGlitch 效果很好,但内容 div 是动态加载的,如果我在内容页面中添加锚点,您的解决方案将不起作用。我应该如何让它发挥作用?
【解决方案2】:

检查这个小提琴动态打开菜单。我已经触发了菜单的用户触发事件。

您可以将菜单的 id 添加为 data-href 在标签中,如下所示

<a href="javascript:void(0);" data-href="#mm-2" class="open-dynamic"><span>Open the submenu "80% werken" from here</span></a>

您可以通过在a标签中添加不同的id来生成所有菜单的外部链接。

以下脚本可用于打开菜单。

 $(document).on("click", ".open-dynamic", function () {                    
                    $(document).find("[href='" + $(this).attr("data-href") + "']").trigger("click");                   
            });

Check This fiddle

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多