PageSourceSearch

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

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

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.