我希望在您单击下拉菜单中的元素时关闭菜单。此时,只有当您单击菜单按钮时,菜单才会关闭。
网站链接>>> http://www.glassmania.pl/PROA5/index.html
$(document).ready(function() {
$.fn.menumaker = function(options) {
var cssmenu = $(this), settings = $.extend({
title: "Menu",
format: "dropdown",
sticky: false
}, options);
return this.each(function() {
cssmenu.prepend('<div id="menu-button"><span></span><span></span><span></span>' + settings.title + '</div>');
$(this).find("#menu-button").on('click', function(){
$(this).toggleClass('menu-opened');
var mainmenu = $(this).next('ul');
if (mainmenu.hasClass('open')) {
mainmenu.slideUp().removeClass('open');
}
else {
mainmenu.slideDown().addClass('open');
if (settings.format === "dropdown") {
mainmenu.find('ul').slideDown();
}
}
});
cssmenu.find('li ul').parent().addClass('has-sub');
multiTg = function() {
cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>');
cssmenu.find('.submenu-button').on('click', function() {
$(this).toggleClass('submenu-opened');
if ($(this).siblings('ul').hasClass('open')) {
$(this).siblings('ul').removeClass('open').slideUp();
}
else {
$(this).siblings('ul').addClass('open').slideDown();
}
});
};
if (settings.format === 'multitoggle') multiTg();
else cssmenu.addClass('dropdown');
});
};
$(".navy").menumaker({
title: "Navigation",
format: "multitoggle"
});
$('#menu-button').click(function(){
$(this).toggleClass('open');
});
});
最佳答案
没有工作示例很难提供帮助,但我会尽力提供帮助。
我想这就是你需要的:
$('.page-scroll').click(function(){
$(this).parents('ul').removeClass('open');
});
page-scroll 类是您的菜单项,当用户点击它时,我们会从父 ul 元素中删除 open 类。
关于jquery - 无法关闭移动设备上的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57345380/