JQuery Mmenu: прокрутка после закрытия меню

В проекте я использую mmenu впервые. Это работает, как и ожидалось, но есть одна вещь, которую я бы хотел иметь, но все же это не так: /

Вот URL: 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 ответа

Решение

Событие "закрыто" запускается, когда меню закрывается, поэтому вам не нужно дополнительное время ожидания. Посмотрите на этот пример, он немного проще: http://mmenu.frebsite.nl/mmenu/demo/onepage.html

В ответ на ответ Фреда у меня был другой JS-код для выполнения прокрутки. После его отключения теперь меню сначала закрывается, а прокрутка запускается позже.

Другие вопросы по тегам