PageSourceSearch

https://www.ahockeyworld.net/wp-content/plugins/wp-responsive-menu/assets/js/wprmenu_ver-3.1.8.js

js ahockeyworld.net collected 2026-10-02 19:13:49 UTC 8,547 bytes, 295 lines download raw bytes

1( function( window ) {
2
3'use strict';
4
5function classReg( className ) {
6  return new  ("(^|\\s+)" + className + "(\\s+|$)");
7}
8// classList support for class management
9// although to be fair, the api sucks because it won't accept multiple classes at once
10var hasClass, addClass, removeClass;
11
12if ( 'classList' in document.documentElement ) {
13  hasClass = function( elem, c ) {
14    return elem.classList.contains( c );
15  };
16  addClass = function( elem, c ) {
17    elem.classList.add( c );
18  };
19  removeClass = function( elem, c ) {
20    elem.classList.remove( c );
21  };
22}
23else {
24  hasClass = function( elem, c ) {
25    return classReg( c ).test( elem.className );
26  };
27  addClass = function( elem, c ) {
28    if ( !hasClass( elem, c ) ) {
29      elem.className = elem.className + ' ' + c;
30    }
31  };
32  removeClass = function( elem, c ) {
33    elem.className = elem.className.replace( classReg( c ), ' ' );
34  };
35}
36
37function toggleClass( elem, c ) {
38  var fn = hasClass( elem, c ) ? removeClass : addClass;
39  fn( elem, c );
40}
41
42window.classie = {
43  // full names
44  hasClass: hasClass,
45  addClass: addClass,
46  removeClass: removeClass,
47  toggleClass: toggleClass,
48  // short names
49  has: hasClass,
50  add: addClass,
51  remove: removeClass,
52  toggle: toggleClass
53};
54
55})( window );
56
57jQuery( document ).ready( function( $ ) {
58	
59  var	Mgwprm = document.getElementById( 'mg-wprm-wrap' );
60	var	wprm_menuDir = document.getElementById( 'wprMenu' );
61	body = document.body;
62
63  /**
64  ----------------------------------------
65  * 
66  * Body slide from one side ( left, right or top )
67  *
68  ----------------------------------------
69  **/
70  if( jQuery('.wprmenu_bar').hasClass('bodyslide') )
71    jQuery('body').addClass('cbp-spmenu-push');
72
73	jQuery('.wprmenu_bar').click( function(e) {
74		if( $(e.target).hasClass('bar_logo') )
75			return;
76
77		classie.toggle( this, 'active' );
78		jQuery(this).find('div.hamburger').toggleClass('is-active');
79
80		if( jQuery(this).hasClass('active') ) {
81		  jQuery('html').addClass('wprmenu-body-fixed');
82
83			if( wprmenu.enable_overlay == '1' ) {
84			 jQuery('div.wprm-wrapper').find('.wprm-overlay').addClass('active');
85			}
86		}
87		else {
88			jQuery('html').removeClass('wprmenu-body-fixed');
89			if( wprmenu.enable_overlay == '1' ) {
90				jQuery('div.wprm-wrapper').find('.wprm-overlay').removeClass('active');
91			}
92		}
93
94    /**
95    ----------------------------------------
96    * 
97    * Right side body push
98    *
99    ----------------------------------------
100    **/
101		if ( !jQuery(this).hasClass('normalslide') && jQuery(this).hasClass('left')) {
102			doc_width = jQuery(document).width() * (wprmenu.menu_width/100);
103			push_width = (wprmenu.push_width != '' && wprmenu.push_width < doc_width) ? wprmenu.push_width : doc_width;
104			classie.toggle(body, 'cbp-spmenu-push-toright');
105			
106      if( jQuery('body').hasClass('cbp-spmenu-push-toright') )
107				jQuery('body').css('left', push_width + 'px');
108			else
109				$('body').css('left','0px');
110		}
111
112		 /**
113    ----------------------------------------
114    * 
115    * Left side body push
116    *
117    ----------------------------------------
118    **/
119		if ( !jQuery(this).hasClass('normalslide') && jQuery(this).hasClass('right')) {
120			doc_width = jQuery(document).width() * (wprmenu.menu_width/100);
121			push_width = (wprmenu.push_width != '' && wprmenu.push_width < doc_width) ? wprmenu.push_width : doc_width;
122			classie.toggle(body, 'cbp-spmenu-push-toleft');
123			
124      if( jQuery('body').hasClass('cbp-spmenu-push-toleft') )
125				jQuery('body').css('left','-'+push_width+'px');
126			else
127				jQuery('body').css('left','0px');
128		}
129		classie.toggle(Mgwprm, 'cbp-spmenu-open');
130
131		close_sub_uls();
132
133	});
134
135  /**
136  -------------------------------------------------------------
137  * 
138  * Fix the scaling issue by adding/replacing viewport metatag
139  *
140  -------------------------------------------------------------
141  **/
142  var mt = $('meta[name=viewport]');
143  mt = mt.length ? mt : $('<meta name="viewport" />').appendTo('head');
144  if(wprmenu.zooming == 0) {
145    mt.attr('content', 'user-scalable=no, width=device-width, maximum-scale=1, minimum-scale=1');
146  } else {
147    mt.attr('content', 'user-scalable=yes, width=device-width, initial-scale=1.0, minimum-scale=1');
148  }
149
150	/**
151  ----------------------------------------
152  * 
153  * Click on body to remove the menu
154  *
155  ----------------------------------------
156  **/
157  $('body').click( function( event ) {
158    if ( $( '#wprmenu_bar' ).hasClass( 'active' ) ) {
159      $('#wprmenu_bar .wprmenu_icon').addClass('open');
160    } 
161    else {
162      $('#wprmenu_bar .wprmenu_icon').removeClass('open');
163    }
164  });
165
166	var menu = jQuery('#mg-wprm-wrap');
167	var menu_ul = jQuery('#wprmenu_menu_ul'); //the menu ul
168
169	jQuery(document).mouseup(function (e) {
170		if ( ($(e.target).hasClass('wprmenu_bar') || $(e.target).parents('.wprmenu_bar').length == 0) && 
171			($(e.target).hasClass('cbp-spmenu') || $(e.target).parents('.cbp-spmenu').length == 0)) {
172    		if(menu.is(':visible') ) {
173				$('.hamburger.is-active').trigger('click');
174			}
175		}
176	});
177
178	//add arrow element to the parent li items and chide its child uls
179	menu.find('ul.sub-menu').each(function() {
180		var sub_ul = $(this),
181		parent_a = sub_ul.prev('a'),
182		parent_li = parent_a.parent('li').first();
183
184		parent_a.addClass('wprmenu_parent_item');
185		parent_li.addClass('wprmenu_parent_item_li');
186
187		var expand = parent_a.before('<span class="wprmenu_icon wprmenu_icon_par icon_default"></span> ').find('.wprmenu_icon_par');
188		sub_ul.hide();
189	});
190
191
192	//expand / collapse action (SUBLEVELS)
193	$('.wprmenu_icon_par').on('click',function() {
194		var t = $(this),
195		child_ul = t.parent('li').find('ul.sub-menu').first();
196		child_ul.slideToggle('300');
197		t.toggleClass('wprmenu_par_opened');
198		t.parent('li').first().toggleClass('wprmenu_no_border_bottom');
199	});
200
201	//helper - close all submenus when menu is hiding
202	function close_sub_uls() {
203		menu.find('ul.sub-menu').each(function() {
204			var ul = $(this),
205			icon = ul.parent('li').find('.wprmenu_icon_par'),
206			li = ul.parent('li');
207
208			if(ul.is(':visible')) ul.slideUp(300);
209			icon.removeClass('wprmenu_par_opened');
210			li.removeClass('wprmenu_no_border_bottom');
211		});
212	}
213
214	//submenu opened
215	function open_sub_uls() {
216		menu.find('ul.sub-menu').each(function() {
217			var ul = $(this),
218			icon = ul.parent('li').find('.wprmenu_icon_par'),
219			li = ul.parent('li');
220
221			ul.slideDown(300);
222			icon.removeClass('wprmenu_par_opened');
223			icon.addClass('wprmenu_par_opened');
224		});
225	}
226
227	if( menu.hasClass('cbp-spmenu-top') && $('body').hasClass('cbp-spmenu-push') ){
228		$('body').prepend(menu);
229		//show / hide the menu
230		$('#wprmenu_bar,#custom_menu_icon').on('click', function(e) {
231			if( $(e.target).hasClass('bar_logo') )
232				return;
233			//scroll window top
234			$("html, body").animate({ scrollTop: 0 }, 300);
235
236			close_sub_uls();
237			menu.stop(true, false).slideToggle(300);
238		});
239	}
240	if( wprmenu.parent_click == 'yes' ) {
241		$('a.wprmenu_parent_item').on('click', function( event ){
242			event.preventDefault();
243			$('.wprmenu_icon_par').trigger('click');
244		});
245	}
246	$('#wprmenu_menu_ul a').click(function(){
247		if( wprmenu.parent_click !='yes' || (wprmenu.parent_click == 'yes' && !$(this).hasClass('wprmenu_parent_item')) )
248			$('.hamburger.is-active').trigger('click');
249	});
250
251
252  /**
253  ----------------------------------------
254  * 
255  * Swipe Enable Function
256  *
257  ----------------------------------------
258  **/
259	if( wprmenu.swipe == '1' ) {
260    jQuery('body').swipe({
261      excludedElements: "button, input, select, textarea, .noSwipe",
262      longTapThreshold: 200,
263      swipe:function(event, direction, distance, duration, fingerCount, fingerData) {
264        menu_el = $('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu');
265        if( direction =='left' && menu_el.hasClass('is-active') )
266          menu_el.trigger('click');
267        
268        
269        if( direction =='right' && !menu_el.hasClass('is-active') )
270          menu_el.trigger('click');
271        
272        }
273    });
274  }
275
276  function toggle_sub_uls($action) {
277    $('#mg-wprm-wrap').find('ul.sub-menu').each(function() {
278      var ul = $(this),
279      icon = ul.parent('li').find('.wprmenu_icon_par'),
280      li = ul.parent('li');
281
282      if( $action == 'open' ) {
283        ul.slideDown(300);
284        icon.removeClass( wprmenu.submenu_open_icon ).addClass( wprmenu.submenu_close_icon );
285      }
286      else {
287        if(ul.is(':visible')) ul.slideUp(300);
288        icon.removeClass( wprmenu.submenu_close_icon ).addClass( wprmenu.submenu_open_icon );
289        li.removeClass('wprmenu_no_border_bottom');
290      }
291      
292    });
293  }
294
295});

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.