PageSourceSearch

https://imfit.pl/wp-content/themes/betheme/js/menu.js?ver=12

js imfit.pl collected 2026-10-08 06:42:06 UTC 2,462 bytes, 117 lines download raw bytes

1/**
2 * MuffinMenu 
3 * 
4 * Horizontal Multilevel Menu with WP MegaMenu Support 
5 * 
6 * 3.0 | Muffin Group
7 */
8    
9;(function($){
10	"use strict";
11	
12	$.fn.mfnMenu = function( options ){
13
14		var menu = $(this);
15		
16		var defaults = {
17			addLast		: false,
18			arrows      : false,
19			delay       : 100,
20			hoverClass  : 'hover',
21			mobileInit	: 768
22		};
23		options = $.extend( defaults, options );
24		
25		
26		var init = function(){
27			
28			// add '.submenu' class
29			$( 'li:has(ul)', menu ).addClass( 'submenu' );
30			
31			// append mobile toggle button
32			$( 'li:has(ul)', menu ).append( '<span class="menu-toggle"></span>' );
33			
34			// add '.mfn-megamenu-parent' class
35			menu.children( 'li:has( ul.mfn-megamenu )' ).addClass( 'mfn-megamenu-parent' );	
36			
37			// add '.last-item' class
38			$( '.submenu ul li:last-child', menu ).addClass( 'last-item' );
39			
40			// add '.last' class
41			if( options.addLast ) {
42				$( '> li:last-child', menu ).addClass( 'last' )
43					.prev().addClass( 'last' );
44			}
45			
46			// appand submenu arrows
47			if( options.arrows ) {
48				$( 'li ul li:has(ul) > a', menu ).append( '<i class="menu-arrow icon-right-open"></i>' );
49			}
50
51		};
52		
53		
54		var doMenu = function(){
55			
56//			console.log( [$(window).width(), options.mobileInit ]);
57
58			if( $(window).width() >= options.mobileInit ){
59				
60				// desktop --------------------------------
61
62				$( '> li, ul:not(.mfn-megamenu) li', menu ).hover(function() {
63					
64					$(this).stop(true,true).addClass( options.hoverClass );
65					
66					$(this).children( 'ul' ).stop(true,true).fadeIn( options.delay );
67					
68					
69				}, function(){
70					
71					$(this).stop(true,true).removeClass( options.hoverClass );
72					
73					$(this).children( 'ul' ).stop(true,true).fadeOut( options.delay );	
74					
75				});
76				
77			} else {
78
79				// mobile ---------------------------------
80				
81				$( 'li', menu ).unbind('hover');
82				
83				$( 'li > .menu-toggle', menu ).off('click').on('click', function(){
84	
85					var el = $(this).closest('li');
86					
87					if( el.hasClass( options.hoverClass ) ){
88	
89						el.removeClass( options.hoverClass )
90							.children('ul').stop(true,true).fadeOut( options.delay );			
91						
92					} else {
93		
94						el.addClass( options.hoverClass )
95							.children('ul').stop(true,true).fadeIn( options.delay );	
96	
97					}
98					
99				});
100				
101			}
102			
103		};
104		
105
106		$(window).bind( 'resize', doMenu );
107		
108		var __constructor = function(){
109			init();
110			doMenu();
111		};
112		
113		__constructor();
114
115	}
116
117})(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.