Mmenu - 多个实例 - 在一个实例打开而另一个实例被触发时延迟脚本

时间:2014-10-15 12:13:52

标签: jquery mmenu

您好抱歉这个冗长的问题标题,

我在页面上有多个mmenu实例,确切地说是3x。基本上当一个人打开时,我需要能够打开另一个人。这样可行,但是当我这样做时,我会得到一些白色内容。

我真正想做的是在第一次关闭之前延迟射击第二次。

我已经使用setTimeout或CSS转换以及if else语句成功设置了延迟,但因为mmenu函数也在if / else之外调用,所以只要我点击锚点就会触发它。

我对javascript / jquery比较新,但我确信有办法完成这项工作。

    $("#open-menu").mmenu({
        offCanvas: {
            position: "right",
            zposition: "front"
        }
    });

    $("#new-menu").mmenu({

        classes: "mm-fullscreen",
        offCanvas: {
            position: "left",
            zposition: "front"
    }

                    });


    $(".close-menu").click(function() {
         $("#new-menu, #open-menu").trigger("close.mm");
});

原谅任何草率的代码。这是基本设置。

2 个答案:

答案 0 :(得分:0)

对不起,我误解了这个问题。你可能正在寻找这样的人。

$("#nav")
         .mmenu()
         .on( "closed.mm", function() {
            alert( "The menu has just been closed." );
         })
         .trigger( "close.mm" );

以下是更多信息jQuery.mmenu

答案 1 :(得分:0)

谢谢Daniel,

我设法解决了这个问题。

$(".button").click(function(){

        if( $("#open-menu").hasClass("mm-current")){                

            setTimeout(function(){

                $("#new-menu").addClass("unhide").mmenu({

                                classes: "mm-fullscreen",
                                offCanvas: {
                                    position: "left",
                                    zposition: "front"
                                }

                            })

                            .trigger( "open.mm" );

            }, 500);

        }

    })