PageSourceSearch

https://inbirdie.com/ind-script/optimizer_user.php?filename=jY8xEs…d7eaa655ff9873570beb8f9&t=1712126154&user=T

js inbirdie.com collected 2026-09-24 13:58:44 UTC 20,792 bytes, 681 lines download raw bytes

1/**
2 * 카테고리 리스트 상품 정렬
3 */
4var aUrl = location.href.split('?');
5var sQueryString = aUrl[1];
6
7/**
8 * 파라미터가 있을경우에만 처리
9 */
10$(document).ready(function(){
11    if (sQueryString && sQueryString.indexOf('sort_method') > -1) {
12        for (var i=0; i<$('#selArray option').length; i++) {
13            if ($('#selArray option:eq('+i+')').val().indexOf(sQueryString) > -1) {
14                $('#selArray option:eq('+i+')').attr("selected", true);
15            }
16        }
17    }
18});
19
20$('#selArray').change(function() {
21    if ($('#selArray').val()) {
22        location.href=$('#selArray').val();
23    }
24});
25
26function goThumg(url) {
27    location.href = url+'?'+sQueryString;
28}
29/**
30 * 할인기간 레이어
31 */
32$(document).ready(function(){
33    $('.discountPeriod > a').live('click', function() {
34        $(this).parent().find('.layerDiscountPeriod').show();
35    });
36
37    $('.btnClose, button.submit').live('click', function() {
38        $(this).parents('.layerDiscountPeriod').hide();
39    });
40});
41// 썸네일 이미지 엑박일경우 기본값 설정
42$(window).load(function() {
43    $(".thumbnail img, img.thumbImage, img.bigImage").each(function($i,$item){
44        var $img = new Image();
45        $img.onerror = function () {
46            $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
47        }
48        $img.src = this.src;
49    });
50});
51
52$(document).ready(function(){
53    //토글
54    $('div.eToggle .title').click(function(){
55        var toggle = $(this).parent('.eToggle');
56        if(toggle.hasClass('disable') == false){
57            $(this).parent('.eToggle').toggleClass('selected')
58        }
59    });
60
61    $('dl.eToggle dt').click(function(){
62        $(this).toggleClass('selected');
63        $(this).next('dd').toggleClass('selected');
64    });
65
66    //장바구니 페이지 수량폼 Type 변경
67    $('[id^="quantity"]').each(function() {
68        $(this).get(0).type = 'tel';
69    });
70
71    // 모바일에서 공급사 테이블 th 강제조절
72    $('.xans-mall-supplyinfo, .supplyInfo').find('table > colgroup').find('col').eq(0).width(98);
73    $('.xans-mall-supplyinfo, .supplyInfo').find('th, td').css({padding:'13px 10px 12px'});
74
75    /**
76     *  메인카테고리 toggle
77     
78    $('.xans-product-listmain h2').toggle(function(){
79        $(this).css('background-image', 'url("//img.echosting.cafe24.com/skin/mobile_ko_KR/layout/bg_title_open.gif")');
80        $(this).siblings().hide();
81        $(this).parent().find('div.ec-base-paginate').hide();
82        $(this).parent().next('div.xans-product-listmore').hide();
83    }, function() {
84        $(this).css('background-image', 'url("//img.echosting.cafe24.com/skin/mobile_ko_KR/layout/bg_title_close.gif")');
85        $(this).siblings().show();
86        $(this).parent().find('div.ec-base-paginate').show();
87        $(this).parent().next('div.xans-product-listmore').show();
88    });*/
89
90    /**
91     *  상단탑버튼
92     */
93    var globalTopBtnScrollFunc = function() {
94        // 탑버튼 관련변수
95        var $btnTop = $('#btnTop');
96
97        $(window).scroll(function() {
98            try {
99                var iCurScrollPos = $(this).scrollTop();
100
101                if (iCurScrollPos > ($(this).height() / 2)) {
102                    $btnTop.fadeIn('fast');
103                } else {
104                    $btnTop.fadeOut('fast');
105                }
106            } catch(e) { }
107        });
108    };
109
110    /**
111     *  구매버튼
112     */
113    var globalBuyBtnScrollFunc = function() {
114        // 구매버튼 관련변수
115        var sFixId = $('#orderFixItem').size() > 0  ? 'orderFixItem' : 'fixedActionButton',
116            $area = $('#orderFixArea'),
117            $item = $('#' + sFixId + '').not($area);
118
119        $(window).scroll(function(){
120            try {
121                 // 구매버튼 관련변수
122                var iCurrentHeightPos = $(this).scrollTop() + $(this).height(),
123                    iButtonHeightPos = $item.offset().top;
124
125                if (iCurrentHeightPos > iButtonHeightPos || iButtonHeightPos < $(this).scrollTop() + $item.height()) {
126                    if (iButtonHeightPos < $(this).scrollTop() - $item.height()) {
127                        $area.fadeIn('fast');
128                    } else {
129                        $area.hide();
130                    }
131                } else {
132                    $area.fadeIn('fast');
133                }
134            } catch(e) { }
135        });
136    };
137
138    globalTopBtnScrollFunc();
139    globalBuyBtnScrollFunc();
140});
141
142// 공통레이어팝업 오픈
143var globalLayerOpenFunc = function(_this) {
144    this.id = $(_this).data('id');
145    this.param = $(_this).data('param');
146    this.basketType = $('#basket_type').val();
147    this.url = $(_this).data('url');
148    this.layerId = 'ec_temp_mobile_layer';
149    this.layerIframeId = 'ec_temp_mobile_iframe_layer';
150
151    var _this = this;
152
153    function paramSetUrl() {
154        if (this.param) {
155            // if isset param
156        } else {
157            this.url = this.basketType ?  this.url + '?basket_type=' + this.basketType : this.url;
158        }
159    };
160
161    if (this.url) {
162        window.ecScrollTop = $(window).scrollTop();
163        $.ajax({
164            url : this.url,
165            success : function (data) {
166                if (data.indexOf('404 페이지 없음') == -1) {
167                    // 있다면 삭제
168                    try { $(_this).remove(); } catch ( e ) { }
169
170                    var $layer = $('<div>', {
171                        html: $("<iframe>", { src: _this.url, id: _this.layerIframeId, scrolling: 'auto', css: { width: '100%', height: '100%', overflowY: 'auto', border: 0 } } ),
172                        id: _this.layerId,
173                        css : { position: 'absolute', top: 0, left:0, width: '100%', height: $(window).height(), 'z-index': 9999 }
174                    });
175
176                    $('body').append($layer);
177                    $('html, body').css({'overflowY': 'hidden', height: '100%', width: '100%'});
178                    $('#' + this.layerId).show();
179                }
180            }
181        });
182    }
183};
184
185// 공통레이어팝업 닫기
186var globalLayerCloseFunc = function() {
187    this.layerId = 'ec_temp_mobile_layer';
188
189    if (window.parent === window)
190        self.clse();
191    else {
192        parent.$('html, body').css({'overflowY': 'auto', height: 'auto', width: '100%'});
193        parent.$('html, body').scrollTop(parent.window.ecScrollTop);
194        parent.$('#' + this.layerId).remove();
195    }
196};
197
198/**
199 * document.location.href split
200 * return array Param
201 */
202var getQueryString = function(sKey)
203{
204    var sQueryString = document.location.search.substring(1);
205    var aParam = {};
206
207    if (sQueryString) {
208        var aFields = sQueryString.split("&");
209        var aField  = [];
210        for (var i=0; i<aFields.length; i++) {
211            aField = aFields[i].split('=');
212            aParam[aField[0]] = aField[1];
213        }
214    }
215
216    aParam.page = aParam.page ? aParam.page : 1;
217    return sKey ? aParam[sKey] : aParam;
218};
219
220// PC버전 바로 가기
221var isPCver = function() {
222    var sUrl = window.location.hostname;
223    var aTemp = sUrl.split(".");
224
225    var pattern = /^(mobile[\-]{2}shop[0-9]+)$/;
226
227    if (aTemp[0] == 'm' || aTemp[0] == 'skin-mobile' || aTemp[0] == 'mobile') {
228        sUrl = sUrl.replace(aTemp[0]+'.', '');
229    } else if (pattern.test(aTemp[0]) === true) {
230        var aExplode = aTemp[0].split('--');
231        aTemp[0] = aExplode[1];
232        sUrl = aTemp.join('.');
233    }
234    window.location.href = '//'+sUrl+'/?is_pcver=T';
235};
236
237/* 도움말 */
238$('body').delegate('.ec-base-tooltip-area .eTip', 'click', function(e){
239    var findArea = $($(this).parents('.ec-base-tooltip-area'));
240    var findTarget = $($(this).siblings('.ec-base-tooltip'));
241    var findTooltip = $('.ec-base-tooltip');
242    $('.ec-base-tooltip-area').removeClass('show');
243    $(this).parents('.ec-base-tooltip-area:first').addClass('show');
244    findTooltip.hide();
245    findTarget.show();
246    e.preventDefault();
247});
248
249$('body').delegate('.ec-base-tooltip-area .eClose', 'click', function(e){
250    var findTarget = $(this).parents('.ec-base-tooltip:first');
251    $('.ec-base-tooltip-area').removeClass('show');
252    findTarget.hide();
253    e.preventDefault();
254});
255
256$('.ec-base-tooltip-area').find('input').focusout(function() {
257    var findTarget = $(this).parents('.ec-base-tooltip-area').find('.ec-base-tooltip');
258    $('.ec-base-tooltip-area').removeClass('show');
259    findTarget.hide();
260});
261/**
262 * 움직이는 배너 Jquery Plug-in
263 * @author  cafe24
264 */
265
266(function($){
267
268    $.fn.floatBanner = function(options) {
269        options = $.extend({}, $.fn.floatBanner.defaults , options);
270
271        return this.each(function() {
272            var aPosition = $(this).position();
273            var jbOffset = $(this).offset();
274            var node = this;
275
276            $(window).scroll(function() {
277                var _top = $(document).scrollTop();
278                _top = (aPosition.top < _top) ? _top : aPosition.top;
279
280                setTimeout(function () {
281                    var newinit = $(document).scrollTop();
282
283                    if ( newinit > jbOffset.top ) {
284                        _top -= jbOffset.top;
285                        var container_height = $("#wrap").height();
286                        var quick_height = $(node).height();
287                        var cul = container_height - quick_height;
288                        if(_top > cul){
289                            _top = cul;
290                        }
291                    }else {
292                        _top = 0;
293                    }
294
295                    $(node).stop().animate({top: _top}, options.animate);
296                }, options.delay);
297            });
298        });
299    };
300
301    $.fn.floatBanner.defaults = {
302        'animate'  : 500,
303        'delay'    : 500
304    };
305
306})(jQuery);
307
308/**
309 * 문서 구동후 시작
310 */
311$(document).ready(function(){
312    $('#banner:visible, #quick:visible').floatBanner();
313
314    //placeholder
315    $(".ePlaceholder input, .ePlaceholder textarea").each(function(i){
316        var placeholderName = $(this).parents().attr('title');
317        $(this).attr("placeholder", placeholderName);
318    });
319    /* placeholder ie8, ie9 */
320    $.fn.extend({
321        placeholder : function() {
322            //IE 8 버전에는 hasPlaceholderSupport() 값이 false를 리턴
323           if (hasPlaceholderSupport() === true) {
324                return this;
325            }
326            //hasPlaceholderSupport() 값이 false 일 경우 아래 코드를 실행
327            return this.each(function(){
328                var findThis = $(this);
329                var sPlaceholder = findThis.attr('placeholder');
330                if ( ! sPlaceholder) {
331                   return;
332                }
333                findThis.wrap('<label class="ePlaceholder" />');
334                var sDisplayPlaceHolder = $(this).val() ? ' style="display:none;"' : '';
335                findThis.before('<span' + sDisplayPlaceHolder + '>' + sPlaceholder + '</span>');
336                this.onpropertychange = function(e){
337                    e = event || e;
338                    if (e.propertyName == 'value') {
339                        $(this).trigger('focusout');
340                    }
341                };
342                //공통 class
343                var agent = navigator.userAgent.toLowerCase();
344                if (agent.indexOf("msie") != -1) {
345                    $(".ePlaceholder").css({"position":"relative"});
346                    $(".ePlaceholder span").css({"position":"absolute", "padding":"0 4px", "color":"#878787"});
347                    $(".ePlaceholder label").css({"padding":"0"});
348                }
349            });
350        }
351    });
352
353    $(':input[placeholder]').placeholder(); //placeholder() 함수를 호출
354
355    //클릭하면 placeholder 숨김
356    $('body').delegate('.ePlaceholder span', 'click', function(){
357        $(this).hide();
358    });
359
360    //input창 포커스 인 일때 placeholder 숨김
361    $('body').delegate('.ePlaceholder :input', 'focusin', function(){
362        $(this).prev('span').hide();
363    });
364
365    //input창 포커스 아웃 일때 value 가 true 이면 숨김, false 이면 보여짐
366    $('body').delegate('.ePlaceholder :input', 'focusout', function(){
367        if (this.value) {
368            $(this).prev('span').hide();
369        } else {
370            $(this).prev('span').show();
371        }
372    });
373
374    //input에 placeholder가 지원이 되면 true를 안되면 false를 리턴값으로 던져줌
375    function hasPlaceholderSupport() {
376        if ('placeholder' in document.createElement('input')) {
377            return true;
378        } else {
379            return false;
380        }
381    }
382});
383
384/**
385 *  썸네일 이미지 엑박일경우 기본값 설정
386 */
387$(window).load(function() {
388    $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){
389        var $img = new Image();
390        $img.onerror = function () {
391                $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
392        }
393        $img.src = this.src;
394    });
395});
396
397/**
398 *  tooltip
399 */
400$('.eTooltip').each(function(i){
401    $(this).find('.btnClose').attr('tabIndex','-1');
402});
403//tooltip input focus
404$('.eTooltip').find('input').focus(function() {
405    var targetName = returnTagetName(this);
406    targetName.siblings('.ec-base-tooltip').show();
407});
408$('.eTooltip').find('input').focusout(function() {
409    var targetName = returnTagetName(this);
410    targetName.siblings('.ec-base-tooltip').hide();
411});
412function returnTagetName(_this){
413    var ePlacename = $(_this).parent().attr("class");
414    var targetName;
415    if(ePlacename == "ePlaceholder"){ //ePlaceholder 대응
416        targetName = $(_this).parents();
417    }else{
418        targetName = $(_this);
419    }
420    return targetName;
421}
422
423/**
424 *  eTab
425 */
426 $("body").delegate(".eTab a", "click", function(e){
427    // 클릭한 li 에 selected 클래스 추가, 기존 li에 있는 selected 클래스는 삭제.
428    var _li = $(this).parent("li").addClass("selected").siblings().removeClass("selected"),
429    _target = $(this).attr("href"),
430    _siblings = $(_target).attr("class"),
431    _arr = _siblings.split(" "),
432    _classSiblings = "."+_arr[0];
433
434    //클릭한 탭에 해당하는 요소는 활성화, 기존 요소는 비활성화 함.
435    $(_target).show().siblings(_classSiblings).hide();
436
437
438    //preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됨.
439    e.preventDefault();
440});
441
442
443
444
445//window popup script
446function winPop(url) {
447    window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no");
448}
449/**
450 * document.location.href split
451 * return array Param
452 */
453function getQueryString(sKey)
454{
455    var sQueryString = document.location.search.substring(1);
456    var aParam       = {};
457
458    if (sQueryString) {
459        var aFields = sQueryString.split("&");
460        var aField  = [];
461        for (var i=0; i<aFields.length; i++) {
462            aField = aFields[i].split('=');
463            aParam[aField[0]] = aField[1];
464        }
465    }
466
467    aParam.page = aParam.page ? aParam.page : 1;
468    return sKey ? aParam[sKey] : aParam;
469};
470
471$(document).ready(function(){
472    // tab
473    $.eTab = function(ul){
474        $(ul).find('a').click(function(){
475            var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'),
476                _target = $(this).attr('href'),
477                _siblings = '.' + $(_target).attr('class');
478            $(_target).show().siblings(_siblings).hide();
479            return false
480        });
481    }
482    if ( window.call_eTab ) {
483        call_eTab();
484    };
485});
486$(function () {
487    $('#left').delay(300).fadeIn(500);
488    $('#right,#snslink').delay(300).fadeIn(500);
489    $('#titleArea h2 , .xans-board-title .titleArea h2,  .xans-product-menupackage .title h2, .xans-product-menupackage .menuCategory').addClass('title_move');
490    $('.ec-base-product .prdList ').addClass('move_Bottom_In_product');
491    $('.xans-product-detail .headingArea').addClass('move_Bottom_In_box');
492    $('.xans-product-detail .imgArea, .xans-product-detail .infoArea').addClass('move_Top_In_box');
493    
494  
495});
496
497$('.app-smart-popup').addClass('popmove'); 
498
499(function($) {
500$(".fade_item").hover(function(){
501$(this).find(".item_fadebox,.item_fadebox_bg").fadeIn('fast');
502},function(){
503$(this).find(".item_fadebox,.item_fadebox_bg").fadeOut('fast');
504});
505})(jQuery);
506
507
508$( "#quick_buy a:last-child" ).click(function() {
509    $( "#quick_info" ).addClass( "show" );
510    $( "#quick_bg" ).fadeIn( 300 );
511});
512
513$( "#quick_bg" ).click(function() {
514    $( "#quick_info" ).removeClass( "show" );
515    $( "#quick_bg" ).fadeOut( 300 );
516});
517
518/*
519if ($(window).width() > 1024) {
520(function($) {
521$(".ec-base-product li, .ec-base-product-best li").hover(function(){
522    $(this).find(".toggle_img").fadeIn('fast');
523},function(){
524$(this).find(".toggle_img").fadeOut('fast');
525});
526})(jQuery);    
527}
528
529if ($(window).width() > 1024) {
530(function($) {
531$(".ec-base-product li, .ec-base-product-best li").hover(function(){
532    $(this).find(".description_gallery").fadeIn('fast');
533},function(){
534$(this).find(".description_gallery").fadeOut('fast');
535});
536})(jQuery);
537}
538
539(function($) {
540$("#left").hover(function(){
541$(this).addClass('show_bg').removeClass('hide_bg');
542},function(){
543$(this).addClass('hide_bg').removeClass('show_bg');
544});
545})(jQuery);
546 */
547
548$( "#r_search, .close_btn" ).click(function() {
549  $( ".search_header" ).slideToggle( "fast" );
550});
551 
552
553
554
555
556/**
557 * 카테고리 마우스 오버 이미지
558 * 카테고리 서브 메뉴 출력
559 */
560
561$(document).ready(function(){
562
563    var methods = {
564        aCategory    : [],
565        aSubCategory : {},
566
567        get: function()
568        {
569             $.ajax({
570                url : '/exec/front/Product/SubCategory',
571                dataType: 'json',
572                success: function(aData) {
573
574                    if (aData == null || aData == 'undefined') return;
575                    for (var i=0; i<aData.length; i++)
576                    {
577                        var sParentCateNo = aData[i].parent_cate_no;
578
579                        if (!methods.aSubCategory[sParentCateNo]) {
580                            methods.aSubCategory[sParentCateNo] = [];
581                        }
582
583                        methods.aSubCategory[sParentCateNo].push( aData[i] );
584                    }
585                }
586            });
587        },
588
589        getParam: function(sUrl, sKey) {
590
591            var aUrl         = sUrl.split('?');
592            var sQueryString = aUrl[1];
593            var aParam       = {};
594
595            if (sQueryString) {
596                var aFields = sQueryString.split("&");
597                var aField  = [];
598                for (var i=0; i<aFields.length; i++) {
599                    aField = aFields[i].split('=');
600                    aParam[aField[0]] = aField[1];
601                }
602            }
603            return sKey ? aParam[sKey] : aParam;
604        },
605
606        getParamSeo: function(sUrl) {
607            var aUrl         = sUrl.split('/');
608            return aUrl[3] ? aUrl[3] : null;
609        },
610
611        show: function(overNode, iCateNo) {
612
613            if (methods.aSubCategory[iCateNo].length == 0) {
614                return;
615            }
616
617            var aHtml = [];
618            aHtml.push('<ul>');
619            $(methods.aSubCategory[iCateNo]).each(function() {
620                aHtml.push('<li><a href="'+this.link_product_list+'">'+this.name+'</a></li>');
621            });
622            aHtml.push('</ul>');
623
624
625            var offset = $(overNode).offset();
626            $('<div class="sub-category"></div>')
627                .appendTo(overNode)
628                .html(aHtml.join(''))
629                .find('li').mouseover(function(e) {
630                    $(this).addClass('over');
631                }).mouseout(function(e) {
632                    $(this).removeClass('over');
633                });
634        },
635
636        close: function() {
637            $('.sub-category').remove();
638        }
639    };
640
641    methods.get();
642
643
644    $('.xans-layout-category li').mouseenter(function(e) {
645        var $this = $(this).addClass('on'),
646        iCateNo = Number(methods.getParam($this.find('a').attr('href'), 'cate_no'));
647
648        if (!iCateNo) {
649            iCateNo = Number(methods.getParamSeo($this.find('a').attr('href')));
650        }
651
652        if (!iCateNo) {
653           return;
654        }
655
656        methods.show($this, iCateNo);
657     }).mouseleave(function(e) {
658        $(this).removeClass('on');
659
660          methods.close();
661     });
662    
663
664    if ($(window).width() > 1024) {
665
666        $("#left_menu li").hover(
667    function () {
668      $(this).children(".sub-category").slideDown('fast');
669    },
670   function () {
671     timer = setInterval(function () {
672        $(this).children(".sub-category").delay().slideUp('fast');
673     }, 0);   
674     clearInterval(timer);
675   });   
676        
677        }
678    
679    
680});
681    

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.