1(function($) { 2 3 $.fn.menumaker = function(options) { 4 5 var cssmenu = $(this), settings = $.extend({ 6 title: "Menu", 7 format: "dropdown", 8 sticky: false 9 }, options); 10 11 return this.each(function() { 12 cssmenu.prepend('<div id="menu-button">' + settings.title + '</div>'); 13 $(this).find("#menu-button").on('click', function(){ 14 $(this).toggleClass('menu-opened'); 15 var mainmenu = $(this).next('ul'); 16 if (mainmenu.hasClass('open')) { 17 mainmenu.hide().removeClass('open'); 18 } 19 else { 20 mainmenu.show().addClass('open'); 21 if (settings.format === "dropdown") { 22 mainmenu.find('ul').show(); 23 } 24 } 25 }); 26 27 cssmenu.find('li ul').parent().addClass('has-sub'); 28 29 multiTg = function() { 30 cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>'); 31 cssmenu.find('.submenu-button').on('click', function() { 32 $(this).toggleClass('submenu-opened'); 33 if ($(this).siblings('ul').hasClass('open')) { 34 $(this).siblings('ul').removeClass('open').hide(); 35 } 36 else { 37 $(this).siblings('ul').addClass('open').show(); 38 } 39 }); 40 }; 41 42 if (settings.format === 'multitoggle') multiTg(); 43 else cssmenu.addClass('dropdown'); 44 45 if (settings.sticky === true) cssmenu.css('position', 'fixed'); 46 47 resizeFix = function() { 48 if ($( window ).width() > 1200) { 49 cssmenu.find('ul').show(); 50 } 51 52 if ($(window).width() <= 1200) { 53 cssmenu.find('ul').hide().removeClass('open'); 54 } 55 }; 56 resizeFix(); 57 return $(window).on('resize', resizeFix); 58 59 }); 60 }; 61})(jQuery); 62 63(function($){ 64$(document).ready(function(){ 65 66$(document).ready(function() { 67 $("#cssmenu").menumaker({ 68 title: "Menu", 69 format: "multitoggle" 70 }); 71 72 $("#cssmenu").prepend("<div id='menu-line'></div>"); 73 74var foundActive = false, activeElement, linePosition = 0, menuLine = $("#cssmenu #menu-line"), lineWidth, defaultPosition, defaultWidth; 75 76$("#cssmenu > ul > li").each(function() { 77 if ($(this).hasClass('active')) { 78 activeElement = $(this); 79 foundActive = true; 80 } 81}); 82 83if (foundActive === false) { 84 activeElement = $("#cssmenu > ul > li").first(); 85} 86 87defaultWidth = lineWidth = activeElement.width(); 88 89defaultPosition = linePosition = activeElement.position().left; 90 91menuLine.css("width", lineWidth); 92menuLine.css("left", linePosition); 93 94$("#cssmenu > ul > li").hover(function() { 95 activeElement = $(this); 96 lineWidth = activeElement.width(); 97 linePosition = activeElement.position().left; 98 menuLine.css("width", lineWidth); 99 menuLine.css("left", linePosition); 100}, 101function() { 102 menuLine.css("left", defaultPosition); 103 menuLine.css("width", defaultWidth); 104}); 105 106}); 107 108 109}); 110})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.