1

在一个项目中,我第一次使用 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 但是在那个页面上它没有......任何想法?

问候,奥利弗·利珀特

4

2 回答 2

0

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

于 2014-03-19T05:51:51.980 回答
0

延伸到 Fred 的回复我有另一个 JS 代码来做滚动。禁用它后,现在菜单首先关闭,滚动稍后开始。

于 2014-03-19T17:26:03.073 回答