PageSourceSearch

http://www.moonhyojin.com/wp-content/themes/fwrd/classic-menu/js/classic.js?ver=5.5.22

js moonhyojin.com collected 2026-10-03 02:37:22 UTC 10,241 bytes, 307 lines download raw bytes

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

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.