PageSourceSearch

https://elimofficial.ru/wp-content/themes/fwrd/classic-menu/js/classic.js?ver=6.8.11

js elimofficial.ru collected 2026-10-09 17:44:28 UTC 9,850 bytes, 302 lines download raw bytes

1$ = jQuery;
2$wrap = $('.classic-menu');
3$menu = $wrap.find('>ul');
4
5var menu_height = $menu.outerHeight(true);
6$wrap.height(menu_height);
7
8
9var calculateTopPadding = function (callFrom) {
10	var callFrom = typeof callFrom !== 'undefined' ? callFrom : 'default';
11	var wrapper = $('.wrapper');
12	switch (callFrom) {
13		case 'pjax':
14
15			if (!IRON.state.responsive) {
16
17				if (IRON.state.menu.classic_menu_over_content == '0') {
18					wrapper.eq(1).css('padding-top', $wrap.outerHeight(true) + 'px');
19				}
20
21			} else {
22				wrapper.eq(1).css('padding-top', '');
23			}
24
25			break;
26
27		default:
28			if (!IRON.state.responsive) {
29
30				if (IRON.state.menu.classic_menu_over_content == '0') {
31					$('#wrapper').css('padding-top', $wrap.outerHeight(true) + 'px');
32				}
33
34			} else {
35				$('#wrapper').css('padding-top', '');
36			}
37	}
38
39
40
41}
42
43// add class ready when classic menu is ready.
44$(window).on('load', function () { $('.classic-menu').addClass('ready'); });
45// activate responsiveness to classic menu.
46
47if ($('html').hasClass('no-touchevents')) {
48	$(window).on('load', responsiveMenu);
49	$(window).on('resize', responsiveMenu);
50} else {
51	$(window).on('resize', responsiveMenu);
52	$(window).on('load', responsiveMenu);
53}
54
55// function that activate responsiveness
56function responsiveMenu() {
57	IRON.state.responsive = false;
58	if ($(window).width() < 1144) {
59		IRON.state.responsive = true;
60		$('.classic-menu').addClass('responsive').removeClass('mini');
61		/*if(logo_mini_url != '') {
62			$('.classic-menu').find('.classic-menu-logo').attr('src', logo_url);
63		}*/
64		if (IRON.state.logo.use_alternative_logo_on_mobile) {
65			$('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_page_url);
66		} else {
67			$('.classic-menu').find('.classic-menu-logo').attr('src', $wrap.data('logo'));
68		}
69
70
71		if ($('.responsive-header').length < 1) {
72			if (jQuery('.languages-selector').children().length == 0) {
73				$('.languages-selector').remove();
74			}
75			$('<div class="responsive-header"><a class="sandwich-icon"></a></div>').prependTo('.classic-menu');
76			var hotlinksCount = $('.classic-menu.responsive .hotlink').length;
77			if (hotlinksCount > 1) {
78				$('.classic-menu.responsive .hotlink').first().addClass('first-hotlink');
79				if (hotlinksCount > 2) $('.classic-menu.responsive .hotlink').eq(-2).addClass('last-hotlink');
80				var hotlinkWidth = (100 - ((parseInt(hotlinksCount) - 3) * 10)) / 2;
81				$('.classic-menu.responsive .hotlink.first-hotlink').attr('style', 'width: ' + hotlinkWidth + '% !important');
82
83			} else {
84				$('.classic-menu.responsive .hotlink').addClass('one-hotlink');
85				$('.classic-menu.responsive .hotlink, .classic-menu.responsive .hotlink a').attr('style', 'width: 100% !important; text-align:center !important;');
86			}
87		}
88		$('.responsive-header').off().on('click', '.sandwich-icon', function (e) {
89			// e.preventDefault();
90
91			// debugger
92			if ($('.classic-menu').is('.visible')) { $('.sandwich-icon').removeClass('opened'); $('.classic-menu').removeClass('visible'); return false; }
93			else { $('.sandwich-icon').addClass('opened'); $('.classic-menu').addClass('visible'); }
94		});
95
96		$('.classic-menu ul li a').off().on('click', function (e) {
97
98			// toggle in all case active class
99			var anchor = $(this)
100			var anchorParents = anchor.parents('li')
101
102			$(this).parents('#menu-main-menu').find('li').each(function (el) {
103				if (!_.contains(anchorParents, this)) {
104					$(this).removeClass('active')
105				}
106			})
107			$(this).closest('li').not('.logo').toggleClass('active');
108
109			if ($(this).attr('href') == '#' || typeof ($(this).attr('href')) == "undefined") {
110				e.preventDefault();
111			} else {
112				// window.location.href = $(this).attr('href');
113				$('.classic-menu').removeClass('visible');
114				$('.classic-menu .sandwich-icon').removeClass('opened');
115				$('.classic-menu').scrollTop(0);
116			}
117
118		});
119
120	} else {
121		$('.classic-menu').removeClass('responsive');
122		if ($('.classic-menu').hasClass('mini')) {
123			if (IRON.state.logo.logo_mini_url != '') {
124				$('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_mini_url);
125			}
126
127		} else {
128			$('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_url);
129		}
130
131		$('.classic-menu .hotlink').attr('style', '');
132		$('.classic-menu .responsive-header').remove();
133	}
134
135	setTimeout(function () {
136		calculateTopPadding();
137	}, 450);
138}
139
140
141
142function fixLogoMargin() {
143
144	if ($('.classic-menu > ul > li.logo').hasClass('pull-center') || $('.classic-menu > ul > li.logo').hasClass('pull-top'))
145		return false;
146
147	var itemHeight = $('.classic-menu > ul > li').not('.logo').first().outerHeight(true);
148	var logoHeight = $('.classic-menu > ul > li.logo a').height();
149	var marginTop = (itemHeight / 2) - (logoHeight / 2);
150	$('.classic-menu > ul > li.logo a').css('margin', marginTop + 'px 0 0');
151}
152
153
154
155
156IRON.setupMenu = function () {
157	var total_items = $menu.find('>
157li:not(".hotlink")').length;
158
159	var position = 0;
160	if (IRON.state.logo.logo_align == 'pull-right') {
161		position = total_items
162	}
163	if (IRON.state.logo.logo_align == 'pull-center') {
164		position = Math.ceil(total_items / 2);
165	}
166
167
168	// Activate Mini menu.
169	var lastScrollTop = 0;
170
171	if (IRON.state.logo.logo_page_url == '') {
172		IRON.state.logo.logo_page_url = IRON.state.logo.logo_url;
173		if (IRON.state.logo.logo_page_retina_url == '') {
174			IRON.state.logo.logo_page_retina_url = IRON.state.logo.retina_logo_url;
175		}
176	}
177	if (IRON.state.logo.logo_page_retina_url == '') {
178		IRON.state.logo.logo_page_retina_url = IRON.state.logo.logo_page_url;
179	}
180	if (IRON.state.logo.retina_logo_url == '') {
181		IRON.state.logo.retina_logo_url = IRON.state.logo.logo_url;
182	}
183
184	$(document).on('scroll touchmove', function (e) {
185		var offset = $(this).scrollTop();
186		var st = $(this).scrollTop();
187
188		if (($('.classic-menu').hasClass('mini-active') || $('.classic-menu').hasClass('mini-fullwidth-active')) && !$('.classic-menu').hasClass('responsive')) {
189			if (offset > 150) {
190				if (!$('.classic-menu').hasClass('mini')) {
191					$('.classic-menu').css('width', '100%').addClass('mini');
192				}
193				if (IRON.state.logo.logo_mini_url != '') {
194					$('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_mini_url);
195					$('.classic-menu').find('.classic-menu-logo').attr('srcset', IRON.state.logo.logo_mini_url + ' 1x, ' + IRON.state.logo.logo_mini_url + ' 2x');
196
197
198				}
199
200			}
201			if (offset <= 150) {
202				if ($('.classic-menu').hasClass('mini')) {
203					$('.classic-menu').css('width', $('body').width() - 2 * parseInt(iron_vars.menu.classic_menu_hmargin)).removeClass('mini');
204				}
205				if (IRON.state.logo.logo_mini_url != '') {
206					$('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_url);
207					$('.classic-menu').find('.classic-menu-logo').attr('srcset', IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x');
208				}
209			}
210
211			fixLogoMargin();
212
213		}
214		lastScrollTop = st;
215
216		$('.classic-menu').css('height', '');
217
218	});
219
220	setTimeout(function () {
221		fixLogoMargin();
222	}, 450);
223
224
225
226
227
228	calculateTopPadding();
229
230	if (IRON.state.logo.use_alternative_logo && !IRON.state.responsive) {
231		//if(logo_page_url != '' && !$('.classic-menu').hasClass('responsive')) {
232		IRON.state.logo.logo_url = IRON.state.logo.logo_page_url;
233
234		if (IRON.state.logo.logo_page_retina_url != '') {
235			IRON.state.logo.retina_logo_url = IRON.state.logo.logo_page_retina_url;
236		}
237	}
238
239	if (IRON.state.logo.use_alternative_logo_on_mobile && IRON.state.responsive) {
240		//if(logo_page_url != '' && !$('.classic-menu').hasClass('responsive')) {
241		IRON.state.logo.logo_url = IRON.state.logo.logo_page_url;
242
243		if (IRON.state.logo.logo_page_retina_url != '') {
244			IRON.state.logo.retina_logo_url = IRON.state.logo.logo_page_retina_url;
245		}
246	}
247
248	if (IRON.state.logo.logo_url) {
249
250		IRON.state.logo.logo_url = IRON.state.logo.logo_url.slice(IRON.state.logo.logo_url.indexOf('/'))
251		IRON.state.logo.retina_logo_url = IRON.state.logo.retina_logo_url.slice(IRON.state.logo.retina_logo_url.indexOf('/'))
252
253		var $logo = $('<li class="logo ' + IRON.state.logo.logo_align + '"><a href="' + IRON.state.site_url + '"><img class="classic-menu-logo" src="' + IRON.state.logo.logo_url + '" srcset="' + IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x" data-at2x="' + IRON.state.logo.retina_logo_url + '" alt="' + IRON.state.site_name + '"></a></li>');
254
255	} else {
256		var $logo = $('<li class="logo ' + IRON.state.logo.logo_align + '"><a href="' + IRON.state.site_url + '">' + IRON.state.site_name + '</a></li>');
257	}
258
259	if (!$menu.find('.logo').length) {
260		$menu.find('>li').eq(position).before($logo);
261	} else {
262		$menu.find('.logo img').attr({
263			src: IRON.state.logo.logo_url,
264			srcset: IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x'
265		})
266	}
267
268	// Collision: avoid submenu to be out of viewport.
269	$menu.find('>li a').on('mouseover', function (e) {
270		// check if has submenu
271		if ($(this).find(' + ul').length > 0) {
272			// var zI = 1;
273			var $_this = $(this).find(' + ul');
274			if ($_this.outerWidth(true) + $_this.offset().left > $(window).width()) {
275				// $_this.css('zIndex', zI++);
276				$(this).parent().addClass('collision');
277			}
278		}
279
280	});
281
282	// hotlinks
283	$hotlinks = $wrap.find('.classic-menu-hot-links');
284	if ($hotlinks.length > 0) {
285		var links = $hotlinks.html();
286		$hotlinks.detach();
287		$menu.append(links);
288	}
289
290	if ($('.logo.pull-left')) {
291		var totalwidth = 0;
292		$(".hotlink.pull-right").each(function () {
293			totalwidth = totalwidth + $(this).outerWidth(true);
294		});
295	}
296
297
298
299};
300
301$(window).on('load', IRON.setupMenu);
302

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.