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-код для выполнения прокрутки. После его отключения теперь меню сначала закрывается, а прокрутка запускается позже.