(function($) { "use strict"; $.fn.menumaker = function(options) { var cssmenu = $(this), settings = $.extend({ title: "Menu", format: "dropdown", breakpoint: 768, sticky: false }, options); return this.each(function() { cssmenu.find('li ul').parent().addClass('has-sub'); if (settings.format != 'select') { cssmenu.prepend('' + settings.title + ''); $(this).find("#menu-button").on('keydown', function(e) { var tabKey = e.keyCode === 9; var shiftKey = e.shiftKey; if ($(this).hasClass('menu-opened')) { if (shiftKey && tabKey) { e.preventDefault(); $('div#cssmenu > ul.menu').css('display', 'none').removeClass('open'); $(this).removeClass('menu-opened'); }; } }); $(this).find("#menu-button").on('click', function() { $(this).toggleClass('menu-opened'); var mainmenu = $(this).next('ul'); if (mainmenu.hasClass('open')) { mainmenu.hide().removeClass('open'); } else { mainmenu.show().addClass('open'); if (settings.format === "dropdown") { mainmenu.find('ul').show(); } } }); var multiTg = function() { function submenuButton() { var buttonTag = 'span'; if ($(window).width() > settings.breakpoint) { buttonTag = 'span'; } else { buttonTag = 'span'; } cssmenu.find(".has-sub ul.sub-menu").before('<' + buttonTag + ' class="submenu-button">'); // let buttonLength = cssmenu.find(".has-sub").children('button').length; // if (buttonLength < 1) { // $('.submenu-button').siblings('.submenu-button').remove('.submenu-button'); // } var hasClicked = false; cssmenu.find('.submenu-button').on('click', function(e) { $(this).toggleClass('submenu-opened'); if ($(this).siblings('ul').hasClass('open')) { $(this).siblings('ul').removeClass('open').hide(); } else { $(this).siblings('ul').addClass('open').show(); } }); } submenuButton(); // $(window).on('resize', function() { // submenuButton(); // }); }; if (settings.format === 'multitoggle') multiTg(); else cssmenu.addClass('dropdown'); } else if (settings.format === 'select') { cssmenu.append('