(function($) { $.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('
'); $(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(); } } }); multiTg = function() { cssmenu.find(".has-sub").prepend(''); cssmenu.find('.submenu-button').on('click', function() { $(this).toggleClass('submenu-opened'); if ($(this).siblings('ul').hasClass('open')) { $(this).siblings('ul').removeClass('open').hide(); } else { $(this).siblings('ul').addClass('open').show(); } }); }; if (settings.format === 'multitoggle') multiTg(); else cssmenu.addClass('dropdown'); } else if (settings.format === 'select') { cssmenu.append('').addClass('select-list'); var selectList = cssmenu.find('select'); selectList.append('', { "selected": "selected", "value": ""}); cssmenu.find('a').each(function() { var element = $(this), indentation = ""; for (i = 1; i < element.parents('ul').length; i++) { indentation += '-'; } selectList.append(' settings.breakpoint) { cssmenu.find('ul').show(); cssmenu.removeClass('small-screen'); if (settings.format === 'select') { cssmenu.find('select').hide(); } else { cssmenu.find("#menu-button").removeClass("menu-opened"); } } if ($(window).width() <= settings.breakpoint && !cssmenu.hasClass("small-screen")) { cssmenu.find('ul').hide().removeClass('open'); cssmenu.addClass('small-screen'); if (settings.format === 'select') { cssmenu.find('select').show(); } } }; resizeFix(); return $(window).on('resize', resizeFix); }); }; })(jQuery);