PageSourceSearch

https://www.visionsciences.org/wordpress/wp-content/plugins/catch-…/js/catch-sticky-menu-public.js?ver=2.0

js visionsciences.org collected 2026-09-24 09:02:58 UTC 6,678 bytes, 173 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	/**
5	 * All of the code for your public-facing JavaScript source
6	 * should reside in this file.
7	 *
8	 * Note: It has been assumed you will write jQuery code here, so the
9	 * $ function reference has been prepared for usage within the scope
10	 * of this function.
11	 *
12	 * This enables you to define handlers, for when the DOM is ready:
13	 *
14	 * $(function() {
15	 *
16	 * });
17	 *
18	 * When the window is loaded:
19	 *
20	 * $( window ).load(function() {
21	 *
22	 * });
23	 *
24	 * ...and/or other possibilities.
25	 *
26	 * Ideally, it is not considered best practise to attach more than a
27	 * single DOM-ready or window-load handler for a particular page.
28	 * Although scripts in the WordPress core, Plugins and Themes may be
29	 * practising this, we should strive to set a better example in our own work.
30	 */
31	
32	
33	$(window).on('load resize', function(){
34
35		var selector_mob    = sticky_object.sticky_mobile_menu_selector;
36		var $selector_mob   = $(sticky_object.sticky_mobile_menu_selector);
37		var mob_menu_offset = $selector_mob.offset();
38		
39		var $selector_desk = $(sticky_object.sticky_desktop_menu_selector);
40
41		if( $selector_desk[0] ) {
42			var width_desk       = $selector_desk[0].getBoundingClientRect().width;
43			var height_desk      = $selector_desk[0].getBoundingClientRect().height;
44			var desk_menu_offset = $selector_desk.offset();
45			
46		}
47
48		if($(window).width() < 768){ // Mobile
49			
50			if( ! $(sticky_object.sticky_mobile_menu_selector).length ) {
51				return;
52			}
53
54			$(window).on('scroll', function() {
55
56				$selector_mob.removeClass('catchSticky');
57				$selector_desk.removeClass('catchSticky');
58				
59				if( $(window).scrollTop() > mob_menu_offset.top ) {
60					
61	                var z_index = parseInt(sticky_object.sticky_z_index);
62					var opacity = parseFloat(sticky_object.sticky_opacity);
63
64					
65					if(sticky_object.enable_only_on_home == 0){
66						$selector_mob.addClass('mob-catchSticky');
67						$selector_desk.addClass('mob-catchSticky');
68						$selector_mob.css('top', '0');
69						$selector_mob.css('background-color', sticky_object.sticky_background_color);
70						$selector_mob.css('z-index', z_index);
71						$selector_mob.css('opacity', opacity);
72						$selector_mob.css('border-radius', '0');
73						$selector_mob.css('width', '100%');
74						$('.mob-catchSticky .site-navigation').css('top', '0');
75						$('.mob-catchSticky').css('left', '0');
76						$('.mob-catchSticky').css('width', '100%');
77						$('.mob-catchSticky .site-navigation li').css('background-color', sticky_object.sticky_background_color);
78						$('.mob-catchSticky .site-navigation li a').css('color', sticky_object.sticky_text_color);
79						$('.mob-catchSticky .site-navigation li a').css('font-size', sticky_object.sticky_mobile_font_size + 'em');
80						
81						
82					}
83					else{
84						$('.home ' + selector_mob ).addClass('mob-catchSticky');
85						$('.home ' + selector_mob ).css('top', '0');
86					 	$('.home ' + selector_mob ).css('background-color', sticky_object.sticky_background_color);
87					    $('.home ' + selector_mob ).css('z-index', z_index);
88					    $('.home ' + selector_mob ).css('opacity', opacity);
89					    $('.mob-catchSticky').css('border-radius', '0');
90					    $('.home ' + selector_mob ).css('width', '100%');
91					    $('.home .mob-catchSticky .site-navigation').css('top', '0');
92					    $('.home .mob-catchSticky .site-navigation li').css('background-color', sticky_object.sticky_background_color);
93					    $('.home .mob-catchSticky .site-navigation li a').css('color', sticky_object.sticky_text_color);
94					   $('.home .mob-catchSticky .site-navigation li a').css('font-size', sticky_object.sticky_mobile_font_size + 'em');
95						
96					   // $(' .home .mob-catchSticky .site-navigation li a').css('font-size', sticky_object.sticky_text_font_size);
97					}
98				}
99				else {
100					$('.mob-catchSticky .site-navigation li').removeAttr('style');
101					$('.mob-catchSticky .site-navigation li a').removeAttr('style');
102					$('.home .mob-catchSticky .site-navigation li').removeAttr('style');
103					$('.home .mob-catchSticky .site-navigation li a').removeAttr('style');
104
105					$selector_mob.removeAttr('style');
106					$selector_desk.removeAttr('style');
107					$selector_mob.removeClass('mob-catchSticky');
108					$selector_desk.removeClass('mob-catchSticky');
109				}
110			});
111		} 
112		else { // Desktop
113			
114			if( ! $(sticky_object.sticky_desktop_menu_selector).length ) {
115				return;
116			}
117
118			$(window).on('scroll', function() {
119				
120				$selector_mob.removeClass('mob-catchSticky');
121				$selector_desk.removeClass('mob-catchSticky');
122				
123				if( $(window).scrollTop() > desk_menu_offset.top ) {
124					
125					var adminBarHeight = 0;
126
127					if ($("#wpadminbar")[0]){ // Check if admin bar is enabled.
128				  		adminBarHeight = $('#wpadminbar').height();
129					}
130
131	                var z_index = parseInt(sticky_object.sticky_z_index);
132					var opacity = parseFloat(sticky_object.sticky_opacity);
133
134					if(sticky_object.enable_only_on_home == 0){
135						
136						$(sticky_object.sticky_desktop_menu_selector).addClass('catchSticky');
137						$('.catchSticky').css('top', adminBarHeight + 'px');
138						$('.catchSticky').css('background-color', sticky_object.sticky_background_color);
139						$('.catchSticky').css('z-index', z_index);
140						$('.catchSticky').css('opacity', opacity);
141						$('.catchSticky').css('width', width_desk);
142						$('.catchSticky').css('height', height_desk);
143						$('.catchSticky a').css('color', sticky_object.sticky_text_color);
144						$('.catchSticky a').css('font-size', sticky_object.sticky_desktop_font_size + 'px');
145
146					}
147					else{
148						//console.log(sticky_object);
149						$('.home ' + sticky_object.sticky_desktop_menu_selector).addClass('catchSticky');
150					 	$('.home .catchSticky').css('top',adminBarHeight + 'px');
151					 	$('.home .catchSticky').css('background-color', sticky_object.sticky_background_color);
152					    $('.home .catchSticky').css('z-index', z_index);
153					    $('.home .catchSticky').css('opacity', opacity);
154					    $('.home .catchSticky').css('width', width_desk);
155					    $('.home .catchSticky').css('height', height_desk);
156					    $('.home .catchSticky a').css('font-size', sticky_object.sticky_desktop_font_size + 'px');
157					    $('.home .catchSticky a').css('color', sticky_object.sticky_text_color );
158
159
160					}
161				} else {
162					$('.catchSticky a').removeAttr('style');
163					$('.home .catchSticky a').removeAttr('style');
164					$(sticky_object.sticky_desktop_menu_selector).removeClass('catchSticky');
165					$(sticky_object.sticky_desktop_menu_selector).removeAttr('style');
166					$(sticky_object.sticky__desktop_menu_selector + ' li').removeAttr('style');
167					
168				}
169			});
170		}	
171	});	
172})(jQuery);
173

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.