jQuery mmenu:菜单关闭后滚动

时间:2014-03-16 21:22:29

标签: javascript jquery html mmenu

在一个项目中我第一次使用mmenu。它按预期工作,但有一件事我很乐意工作,但它仍然不是:/

以下是网址:http://1pager.gut-entwickelt.de/

我希望看到的内容:选择菜单点后,它不应该在几毫秒内滚动。它应该等到菜单关闭,然后开始滚动。

因为我添加了这个脚本部分:

Me.mobileMenu.mmenu({
        zposition: "front",
        onClick:   {
            preventDefault: true,
            setSelected   : false
        }
    });

    Me.mobileMenu
    .find('a')
    .on(
        'click',
        function() {
            var href = $(this).attr('href');

            if (Me.mobileMenu.hasClass('mm-opened')) {
                Me.mobileMenu
                    .off('closed.mm')
                    .one(
                        'closed.mm',
                        function() {
                            setTimeout(
                                function(){
                                    $('html, body').animate({
                                        scrollTop: $(href).offset().top
                                    });
                                }, 
                                1000
                            );

                            return false;
                        }
                    );
            } else {
                setTimeout(
                    function(){
                        $('html, body').animate({
                            scrollTop: $(href).offset().top
                        });
                    },
                    1000
                );
            }
            return false;
        }
    );

这似乎适用于此:http://mmenu.frebsite.nl/examples/responsive/index.html 但在那个页面上它没有...任何想法?

此致   奥利弗·利珀特

2 个答案:

答案 0 :(得分:0)

菜单结束时会触发“关闭”事件,因此您不需要额外的超时。 看看这个例子,它有点简单: http://mmenu.frebsite.nl/mmenu/demo/onepage.html

答案 1 :(得分:0)

扩展到弗雷德的回复我有另一个用于滚动的JS代码。禁用后,现在首先关闭菜单,然后稍后开始滚动。