jQuery mmenu:菜单关闭后滚动

jQuery mmenu: Scroll after menu close

本文关键字:滚动 菜单 mmenu jQuery      更新时间:2023-09-26

在一个项目中,我第一次使用mmenu。它像预期的那样工作,但有一件事我很想让它工作,但它仍然没有:/

URL: http://1pager.gut-entwickelt.de/

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

Thatfor我添加了这个脚本部分:

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但是在那一页上没有…什么好主意吗?

问候,奥利弗。

在菜单关闭完成时触发"closed"事件,因此您不需要额外的超时。看一下这个例子,它更直接一些:http://mmenu.frebsite.nl/mmenu/demo/onepage.html

扩展到Fred的回复,我有另一个js代码来做滚动。禁用后,现在菜单先关闭,滚动开始后。