PageSourceSearch

https://www.acrc.go.kr/en/js/layout.js?v=26042210

js acrc.go.kr collected 2026-10-02 04:17:47 UTC 15,615 bytes, 490 lines download raw bytes

1/*-------------------------------------------------
2title       : 레이아웃
3Author      : 
4Create date : 2020-02-14
5-------------------------------------------------*/
6
7$(document).ready(function(){
8	
9	 /*slick 공통*/
10	$('.pause').click(function() {
11	    $(this).siblings("div").slick('slickPause');
12	    $(this).siblings("ul").slick('slickPause');
13	    $(this).hide();
14	    $(this).siblings(".play").show();
15	});
16	$('.play').click(function() {
17	    $(this).siblings("div").slick('slickPlay');
18	    $(this).siblings("ul").slick('slickPlay');
19	    $(this).hide();
20	    $(this).siblings('.pause').show();
21	});
22	
23	
24	 // 풋배너 슬라이드
25    $('.footbanner .list').slick({
26			//슬라이드 되어야 할 태그 ex) div, li 
27		infinite : true, 	//무한 반복 옵션	 
28		slidesToShow : 7,		// 한 화면에 보여질 컨텐츠 개수
29		slidesToScroll : 1,		//스크롤 한번에 움직일 컨텐츠 개수
30		autoplay : true,			// 자동 스크롤 사용 여부
31		pauseOnHover : true,	// 슬라이드 이동시 마우스 호버하면 슬라이더 멈추게 설정
32		draggable : false,	//드래그 가능 여부 
33		slickPlay:false,	//
34		slickPause:false,
35		dots:false,
36		responsive: [
37			{
38	            breakpoint: 1024,
39	            settings: {
40	            centerMode: true,
41                slidesToShow: 5,
42                centerPadding: '0',
43	            }
44			},
45			{
46	            breakpoint: 950,
47	            settings: {
48	            centerMode: true,
49                slidesToShow: 4,
50                centerPadding: '0',
51	            }
52			},
53			{
54	            breakpoint: 768,
55	            settings: {
56	            centerMode: true,
57                slidesToShow: 3,
58                centerPadding: '0',
59	            }
60			},
61			{
62	        	breakpoint: 450,
63	        	settings: {
64        		centerMode: true,
65	            slidesToShow: 2,
66	            centerPadding: '0',
67	        	}
68        	},
69        	{
70	            breakpoint: 350,
71	            settings: {
72	            centerMode: true,
73                slidesToShow: 1,
74                centerPadding: '0',
75	            }
76			}
77		
78        ]
79   });
80  
81    
82    
83    
84    
85    // 사이트바로가기
86    $('.hnb1').classtoggle
87    ({
88        'button'            : '.label',     // 이벤트 받을 타겟 선택
89        'respond'           : true,         // 반응형일 때 (true 시 반응형일때 가로 사이즈 이하에서만 / click 일때만)
90        'respondWidth'      : '1024',       // 반응형 가로 사이즈
91    });
92
93    // 언어
94    $('.lang').classtoggle
95    ({
96        'button'            : '.active'  // 이벤트 받을 타겟 선택
97    });
98
99    // 검색어
100    $('.search').classtoggle();
101
102    // 주메뉴
103    $('#gnb1').gnb1();
104
105    // 전체메뉴이자 모바일 메뉴
106    $('#gnb2').gnb2();
107
108    
109    
110    // 퀵메뉴
111    $('#quick').classtoggle();
112
113    // 위로가기 활성화
114    $(window).on('scroll load', function()
115    {
116        if ( $('html, body').scrollTop() > 300 )
117        {
118            $('#footer .btn_top').addClass('active');
119        }
120        else
121        {
122            $('#footer .btn_top').removeClass('active');
123        }
124    });
125
126    // 위로가기
127    $('#footer .btn_top').on('click', function()
128    {
129        $('html, body').animate({scrollTop: $(this.hash).offset().top});
130        
131        $(this.hash).focus();
132
133        return false;
134    });
135
136    // 관련사이트
137    $('.related .group').classtoggle
138    ({
139        'button'            : '.label'  // 이벤트 받을 타겟 선택
140    });
141});
142
143/*-------------------------------------------------
144title       : 메뉴1
145Author      : 
146Create date : 2020-02-14
147-------------------------------------------------*/
148
149$.fn.gnb1 = function( options )
150{
151    var settings = $.extend
152    ({
153        'actionType'        : 'mouseenter focusin',     // 메뉴가 동작하는 액션 (mouseenter focusin, click)
154        'target'            : '#wrap',                // 활성화 시 클래스가 추가되는 요소 (공란일 경우 오버되는 a 링크 부모 li에만 í
154´ëž˜ìФ 추가됨)        
155        'class'             : 'active',                 // 추가할 클래스명 (target에 추가됨)
156        'depth2'            : '.submenu',               // 서브메뉴
157        'closeBtn'          : '.close'                  // 닫기 버튼이 별도로 존재하는 경우 (닫기 버튼은 클릭시에만)
158    }, 
159    options );
160
161    return this.each(function()
162    {
163        var $selecter = $(this);
164
165        $selecter.find('a').on(settings.actionType, function()
166        {
167        	$('body').addClass('hid_bg');
168        	
169            if ( $(this).parent('li').hasClass('active') == false )
170            {
171                $(this).parent('li').addClass('active');
172                $(this).parent('li').siblings('li').removeClass('active');
173
174                $(this).parents('li').addClass('active');
175                $(this).parents('li').siblings('li').removeClass('active');
176
177                if (settings.target != '')
178                {
179                    $(settings.target).addClass(settings.class);
180                }
181            }
182
183            if ( settings.actionType == 'click' )
184            {
185                if ( $(this).next('*').length > 0 )
186                {
187                    return false;
188                }
189            }
190        });
191
192        if ($selecter.find(settings.closeBtn).length == 1)
193        {
194            $selecter.find(settings.closeBtn).on('click', function()
195            {
196                $selecter.find('li').removeClass(settings.class);
197                $(settings.target).removeClass(settings.class);
198
199                return false;
200            });
201        }
202        else
203        {
204            // 마우스 아웃
205            $(document).on('mousemove', function(e)
206            {
207                cursorY = e.pageY;
208
209                if ( $selecter.find('li.active').length > 0 )
210                {
211                    if (cursorY > parseInt($selecter.find(settings.depth2).offset().top + $selecter.find('.active').find(settings.depth2).height()) )
212                    {
213                        
214                        $selecter.find('li').removeClass(settings.class);
215                        $(settings.target).removeClass(settings.class);
216
217                        
218                    	
219                    	$('body').removeClass('hid_bg');
220                    }
221                }
222            });
223        }
224
225        // 탭 아웃
226        $selecter.find('a:last').keydown(function(e) 
227        {
228            if(e.keyCode === 9) 
229            {
230                $selecter.find('li').removeClass(settings.class);
231                $(settings.target).removeClass(settings.class);
232            }
233        });
234
235        // 역탭 아웃
236        $selecter.find('a:first').keydown(function(e) 
237        {
238            if(e.keyCode === 9 && e.shiftKey) 
239            {
240                $selecter.find('li').removeClass(settings.class);
241                $selecter.removeClass(settings.classname);
242            }
243        });
244    });
245};
246
247/*-------------------------------------------------
248title       : 메뉴2
249-------------------------------------------------*/
250
251$.fn.gnb2 = function( options )
252{
253    var settings = $.extend
254    ({
255        'btnOpen'           : '.open',      // 최초 메뉴를 여는 버튼
256        'btnClose'          : '.close',     // 닫기 버튼이 별도로 존재하는 경우
257        'classAdd'          : '#gnb2',      // 활성화 시 클래스가 추가되는 요소
258        'className'         : 'active',     // 추가할 클래스명 (classAdd에 추가됨)
259        'siblings'			: true,		    // active 될 때 형제요소의 반응 여부
260        'responsive'        : false,         // 반응형일 때 (true 시 반응형일때 가로 사이즈 이하에서만 / false 시 반응형 아닐 때도 클릭 동작함)
261        'responsiveWidth'   : '1024',        // 반응형 가로 사이즈
262        'target'            : '#wrap',                // 활성화 시 클래스가 추가되는 요소 (공란일 경우 오버되는 a 링크 부모 li에만 í
262´ëž˜ìФ 추가됨)        
263        'class'             : 'sitemap',                 // 추가할 클래스명 (target에 추가됨)
264        	
265    }, 
266    options );
267    
268    // gnb2 2차 메뉴 가지고 있는 li에 클래스 추가
269    $('#gnb2 .submenu > ul > li').each(function(i)
270    {
271        if ( $(this).find('div').length > 0 )
272        {
273            $(this).addClass('type1');
274        }
275    });
276    
277    return this.each(function()
278    {
279        var $selecter = $(this);
280
281        // 열기
282        $selecter.find(settings.btnOpen).on('click', function()
283        {
284            if ( $selecter.find(settings.btnClose).length > 0 )
285            {            
286                $(settings.classAdd).addClass(settings.className);
287                $(settings.target).addClass(settings.class);
288                $('.mo_top_navi_cont').addClass('on');
289                $('#issue').css('display', 'block');
290                $('#head_menu_all > li').removeClass('active');
291                $('#head_menu_all > .lnb1').addClass('active');
292                $('#issue .group .list').slick('refresh'); // 알림창 새로고침
293            }
294            
295            else
296            {
297                if ( $(settings.classAdd).hasClass(settings.className) == false )
298                {
299                    $(settings.classAdd).addClass(settings.className);
300                }
301                else
302                {
303                    $(settings.classAdd).removeClass(settings.className);
304                }
305            }
306
307            return false;
308        });
309        
310        // 닫기
311        if ( $selecter.find(settings.btnClose).length > 0 )
312        {
313            $selecter.find(settings.btnClose).on('click', function()
314            {
315                $(settings.classAdd).removeClass(settings.className);
316                $(settings.target).removeClass(settings.class);
317                $('.mo_top_navi_cont').removeClass('on');
318                $('#issue').css('display', 'none');
319
320
321                return false;
322            });
323        };
324
325        // 메뉴 클릭 이벤트
326        function menuAction($this)
327        {
328        	 if ( $this.next('*').length > 0 && $this.next('*').css('display') != 'none' )
329            {
330                if ( $this.parent('li').hasClass('active') == false )
331                {
332                    $this.parent('li').addClass('active');
333
334                    if ( settings.siblings == true )
335                    {
336                        $this.parent('li').siblings('li').removeClass('active');
337                    }
338                }
339                else
340                {
341                    $this.parent('li').removeClass('active');
342                }
343
344                event.preventDefault();
345            }      
346        }
347
348        // 메뉴
349        $selecter.find('li a').on('click', function(e)
350        {
351            if ( settings.responsive == true )
352            {
353                if ( $(window).width() <= settings.responsiveWidth )
354                {
355                    menuAction($(this));
356                }
357            }
358            else
359            {
360                menuAction($(this));
361            }
362        });
363    });
364};
365
366/*-------------------------------------------------
367title       : 클래스를 넣고 빼고
368Author      : 
369Create date : 2020-02-14
370-------------------------------------------------*/
371
372$.fn.classtoggle = function( options )
373{
374    var settings = $.extend
375    ({
376        'button'            : '.open',      // 이벤트 받을 타겟 선택
377        'action'            : 'click',      // 액션 선택 (click | over)
378        'classname'         : 'active',     // 추가할 클래스명
379        'accordion'			: false,		// active 될 때 형제요소의 반응 여부
380        'respond'           : false,        // 반응형일 때 (true 시 반응형일때 가로 사이즈 이하에서만 / click 일때만)
381        'respondWidth'      : '768',        // 반응형 가로 사이즈
382        'close'             : '.close'      // 닫기 버튼이 별도로 존재하는 경우 (닫기 버튼은 클릭시에만)
383    }, 
384    options );
385
386    return this.each(function()
387    {
388        var $selecter = $(this);
389
390        function clickActive()
391        {
392            if ( $selecter.hasClass(settings.classname) == false )
393            {
394                $selecter.addClass(settings.classname);
395
396                if (settings.accordion == true)
397                {
398                    $selecter.siblings().removeClass(settings.classname);
399                }
400            }
401            else
402            {
403                // 닫기 버튼 존재할 경우 토글되지 않음
404                if ( $selecter.find(settings.close).length == 0 )
405                {
406                    $selecter.removeClass(settings.classname);
407                }
408            }
409        }
410
411        if ( settings.action == 'click' )
412        {
413            $selecter.find(settings.button).on(settings.action, function()
414            {
415                if ( settings.respond == false )
416                {
417                    clickActive();
418
419                    return false;
420                }
421                else
422                {
423                    if ( $(window).width() <= settings.respondWidth )
424                    {
425                        clickActive();
426
427                        return false;
428                    }
429                    else
430                    {
431                        $selecter.find(settings.button).off();
432                    }
433                }
434            });
435        }
436        else
437        {
438            $selecter.find(settings.button).on
439            ({
440                mouseenter  : function()
441                {
442                    $selecter.addClass(settings.classname);
443                },
444                focusin     : function()
445                {
446                    $selecter.addClass(settings.classname);
447                },
448                mouseleave  : function()
449                {
450                    $selecter.removeClass(settings.classname);
451                },
452                focusout    : function()
453                {
454                    $selecter.removeClass(settings.classname);
455                }
456            });
457        }
458
459        // 닫기 버튼이 별도로 존재하는 경우
460        if ( $selecter.find(settings.close).length > 0 )
461        {
462            $selecter.find(settings.close).on('click', function()
463            {
464                $selecter.removeClass(settings.classname);
465
466                return false;
467            });
468        }
469        else
470        {
471            // 탭 아웃
472            $selecter.find('a:last').keydown(function(e) 
473            {
474                if(e.keyCode === 9) 
475                {
476                    $selecter.removeClass(settings.classname);
477                }
478            });
479
480            // 역탭 아웃
481            $selecter.find('a:first').keydown(function(e) 
482            {
483                if(e.keyCode === 9 && e.shiftKey) 
484                {
485                    $selecter.removeClass(settings.classname);
486                }
487            });
488        }
vendor: 15 bytes, lines 488-490
488
489    });
490};

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.