0
私は素晴らしい動作する応答メニューを持っています。しかし、訪問者がメニュー内の項目をクリックすると、メニューが閉じられるようにします。この時点で、訪問者が 'button_menu'をクリックしたときにのみメニューが閉じます。誰かが「サブメニューボタン」をクリックすると、メニューは開いたままでなければなりません。これどうやってするの?resonsiveメニューを閉じる
<script>
(function($) {
$.fn.menumaker = function(options) {
var cssmenu = $(this), settings = $.extend({
format: "dropdown",
sticky: false
}, options);
return this.each(function() {
$(this).find(".button_menu").on('click', function(){
$(this).toggleClass('menu-opened');
var mainmenu = $(this).next('ul');
if (mainmenu.hasClass('open')) {
mainmenu.slideToggle().removeClass('open');
}
else {
mainmenu.slideToggle().addClass('open');
if (settings.format === "dropdown") {
mainmenu.find('ul').show();
}
}
});
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').slideToggle();
}
else {
$(this).siblings('ul').addClass('open').slideToggle();
}
});
};
if (settings.format === 'multitoggle') multiTg();
else cssmenu.addClass('dropdown');
if (settings.sticky === true) cssmenu.css('position', 'fixed');
resizeFix = function() {
var mediasize = 1000;
if ($(window).width() > mediasize) {
cssmenu.find('ul').show();
}
if ($(window).width() <= mediasize) {
cssmenu.find('ul').hide().removeClass('open');
}
};
resizeFix();
return $(window).on('resize', resizeFix);
});
};
})(jQuery);
(function($){
$(document).ready(function(){
$("#cssmenu").menumaker({
format: "multitoggle"
});
});
})(jQuery);
</script>
HTML:
<header>
<nav id="cssmenu">
<div class="logo">
<a href="http://www. .com">
<img alt="" src="images/logo.png"></a> </div>
<div id="head-mobile">
</div>
<div class="button_menu">
</div>
<ul id="myTopnav" class="navigation">
<li class="active" data-slide="1">
<a onclick="myFunction()">HOME</a></li>
<li data-slide="2"><a onclick="myFunction()">PRODUCTS</a>
<ul>
<li>
<a onclick="window.location.href='http://www.'">
ROTARY STAGES</a></li>
<li>
<a onclick="window.location.href='http://www.'">
LINEAR STAGES</a></li>
<li>
<a onclick="window.location.href='http://www.'">
MULTI-DOF STAGES</a></li>
<li>
<a onclick="window.location.href='http://www.'">
DRIVERS</a></li>
</ul>
</li>
<li data-slide="4"><a onclick="myFunction()">TRADE FAIRS</a></li>
<li data-slide="6"><a onclick="myFunction()">COMPANY</a></li>
<li data-slide="16"><a onclick="myFunction()">TECHNOLOGY</a></li>
<li data-slide="8"><a onclick="myFunction()">CAREERS</a></li>
<li data-slide="10"><a onclick="myFunction()">CONTACT</a></li>
</ul>
</nav>
</header>