PageSourceSearch

https://xoul.co.kr/ind-script/optimizer_user.php?filename=K05J5U5J…ac6d56bb8188ade6069946b&t=1784549011&user=T

js xoul.co.kr collected 2026-09-26 07:17:46 UTC 12,062 bytes, 274 lines download raw bytes

1/**
2 * 움직이는 배너 Jquery Plug-in
3 * @author  cafe24
4 */
5
6(function($){
7
8    $.fn.floatBanner = function(options) {
9        options = $.extend({}, $.fn.floatBanner.defaults , options);
10
11        return this.each(function() {
12            var aPosition = $(this).position();
13            var jbOffset = $(this).offset();
14            var node = this;
15
16            $(window).on('scroll', function() {
17                var _top = $(document).scrollTop();
18                _top = (aPosition.top < _top) ? _top : aPosition.top;
19
20                setTimeout(function () {
21                    var newinit = $(document).scrollTop();
22
23                    if ( newinit > jbOffset.top ) {
24                        _top -= jbOffset.top;
25                        var container_height = $("#wrap").height();
26                        var quick_height = $(node).height();
27                        var cul = container_height - quick_height;
28                        if(_top > cul){
29                            _top = cul;
30                        }
31                    } else {
32                        _top = 0;
33                    }
34
35                    $(node).stop().animate({top: _top}, options.animate);
36                }, options.delay);
37            });
38        });
39    };
40
41    $.fn.floatBanner.defaults = {
42        'animate'  : 500,
43        'delay'    : 500
44    };
45
46})(jQuery);
47
48/**
49 * 문서 구동후 시작
50 */
51$(function(){
52    $('#banner:visible, #quick:visible').floatBanner();
53
54    //placeholder
55    $(".ePlaceholder input, .ePlaceholder textarea").each(function(i){
56        var placeholderName = $(this).parents().attr('title');
57        $(this).attr("placeholder", placeholderName);
58    });
59    /* placeholder ie8, ie9 */
60    $.fn.extend({
61        placeholder : function() {
62            //IE 8 버전에는 hasPlaceholderSupport() 값이 false를 리턴
63           if (hasPlaceholderSupport() === true) {
64                return this;
65            }
66            //hasPlaceholderSupport() 값이 false 일 경우 아래 코드를 실행
67            return this.each(function(){
68                var findThis = $(this);
69                var sPlaceholder = findThis.attr('placeholder');
70                if ( ! sPlaceholder) {
71                   return;
72                }
73                findThis.wrap('<label class="ePlaceholder" />');
74                var sDisplayPlaceHolder = $(this).val() ? ' style="display:none;"' : '';
75                findThis.before('<span' + sDisplayPlaceHolder + '>' + sPlaceholder + '</span>');
76                this.onpropertychange = function(e){
77                    e = event || e;
78                    if (e.propertyName == 'value') {
79                        $(this).trigger('focusout');
80                    }
81                };
82                //공통 class
83                var agent = navigator.userAgent.toLowerCase();
84                if (agent.indexOf("msie") != -1) {
85                    $(".ePlaceholder").css({"position":"relative"});
86                    $(".ePlaceholder span").css({"position":"absolute", "padding":"0 4px", "color":"#878787"});
87                    $(".ePlaceholder label").css({"padding":"0"});
88                }
89            });
90        }
91    });
92
93    $(':input[placeholder]').placeholder(); //placeholder() 함수를 호출
94
95    //클릭하면 placeholder 숨김
96    $('body').on('click', '.ePlaceholder span', function(){
97        $(this).hide();
98    });
99
100    //input창 포커스 인 일때 placeholder 숨김
101    $('body').on('focusin', '.ePlaceholder :input', function(){
102        $(this).prev('span').hide();
103    });
104
105    //input창 포커스 아웃 일때 value 가 true 이면 숨김, false 이면 보여짐
106    $('body').on('focusout', '.ePlaceholder :input', function(){
107        if (this.value) {
108            $(this).prev('span').hide();
109        } else {
110            $(this).prev('span').show();
111        }
112    });
113
114    //input에 placeholder가 지원이 되면 true를 안되면 false를 리턴값으로 던져줌
115    function hasPlaceholderSupport() {
116        if ('placeholder' in document.createElement('input')) {
117            return true;
118        } else {
119            return false;
120        }
121    }
122});
123
124/**
125 *  썸네일 이미지 엑박일경우 기본값 설정
126 */
127$(window).on('load', function() {
128    $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){
129        var $img = new Image();
130        $img.onerror = function () {
131            $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
132        }
133        $img.src = this.src;
134    });
135});
136
137/**
138 *  tooltip
139 */
140$('.eTooltip').each(function(i){
141    $(this).find('.btnClose').attr('tabIndex','-1');
142});
143//tooltip input focus
144$('.eTooltip').find('input').on('focus', function() {
145    var targetName = returnTagetName(this);
146    targetName.siblings('.ec-base-tooltip').show();
147});
148$('.eTooltip').find('input').on('focusout', function() {
149    var targetName = returnTagetName(this);
150    targetName.siblings('.ec-base-tooltip').hide();
151});
152function returnTagetName(_this){
153    var ePlacename = $(_this).parent().attr("class");
154    var targetName;
155    if(ePlacename == "ePlaceholder"){ //ePlaceholder 대응
156        targetName = $(_this).parents();
157    }else{
158        targetName = $(_this);
159    }
160    return targetName;
161}
162
163/**
164 *  eTab
165 */
166$("body").on("click", ".eTab a", function(e){
167    // 클릭한 li 에 selected 클래스 추가, 기존 li에 있는 selected 클래스는 삭제.
168    var _li = $(this).parent("li").addClass("selected").siblings().removeClass("selected"),
169    _target = $(this).attr("href"),
170    _siblings = $(_target).attr("class"),
171    _arr = _siblings.split(" "),
172    _classSiblings = "."+_arr[0];
173
174    //클릭한 탭에 해당하는 요소는 활성화, 기존 요소는 비활성화 함.
175    $(_target).show().siblings(_classSiblings).hide();
176
177
178    //preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됨.
179    e.preventDefault();
180});
181
182
183
184//window popup script
185function winPop(url) {
186    window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no");
187}
188/**
189 * document.location.href split
190 * return array Param
191 */
192function getQueryString(sKey)
193{
194    var sQueryString = document.location.search.substring(1);
195    var aParam       = {};
196
197    if (sQueryString) {
198        var aFields = sQueryString.split("&");
199        var aField  = [];
200        for (var i=0; i<aFields.length; i++) {
201            aField = aFields[i].split('=');
202            aParam[aField[0]] = aField[1];
203        }
204    }
205
206    aParam.page = aParam.page ? aParam.page : 1;
207    return sKey ? aParam[sKey] : aParam;
208};
209
210$(function(){
211    // tab
212    $.eTab = function(ul){
213        $(ul).find('a').on('click', function(){
214            var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'),
215                _target = $(this).attr('href'),
216                _siblings = '.' + $(_target).attr('class');
217            $(_target).show().siblings(_siblings).hide();
218            return false
219        });
220    }
221    if ( window.call_eTab ) {
222        call_eTab();
223    };
224});
225
226
227
228
229
230
231!function($,window,undefined){"use strict";$.fn.tabslet=function(options){var defaults={mouseevent:"click",activeclass:"active",attribute:"href",animation:!1,autorotate:!1,deeplinking:!1,pauseonhover:!0,delay:2e3,active:1,container:!1,controls:{prev:".prev",next:".next"}},options=$.extend(defaults,options);return this.each(function(){function deep_link(){var t=[];elements.find("a").each(function(){t.push($(this).attr($this.opts.attribute))});var e=$.inArray(location.hash,t);return e>-1?e+1:$this.data("active")||options.active}var $this=$(this),_cache_li=[],_cache_div=[],_container=options.container?$(options.container):$this,_tabs=_container.find("> div");_tabs.each(function(){_cache_div.push($(this).css("display"))});var elements=$this.find("> ul > li"),i=options.active-1;if(!$this.data("tabslet-init")){$this.data("tabslet-init",!0),$this.opts=[],$.map(["mouseevent","activeclass","attribute","animation","autorotate","deeplinking","pauseonhover","delay","container"],function(t){$this.opts[t]=$this.data(t)||options[t]}),$this.opts.active=$this.opts.deeplinking?deep_link():$this.data("active")||options.active,_tabs.hide(),$this.opts.active&&(_tabs.eq($this.opts.active-1).show(),elements.eq($this.opts.active-1).addClass(options.activeclass));var fn=eval(function(t,e){var s=e?elements.find("a["+$this.opts.attribute+'="'+e+'"]').parent():$(this);s.trigger("_before"),elements.removeClass(options.activeclass),s.addClass(options.activeclass),_tabs.hide(),i=elements.index(s);var o=e||s.find("a").attr($this.opts.attribute);return $this.opts.deeplinking&&(location.hash=o),$this.opts.animation?_container.find(o).animate({opacity:"show"},"slow",function(){s.trigger("_after")}):(_container.find(o).show(),s.trigger("_after")),!1}),init=eval("elements."+$this.opts.mouseevent+"(fn)"),t,forward=function(){i=++i%elements.length,"hover"==$this.opts.mouseevent?elements.eq(i).trigger("mouseover"):elements.eq(i).click(),$this.opts.autorotate&&(clearTimeout(t),t=setTimeout(forward,$this.opts.delay),$this.mouseover(function(){$this.opts.pauseonhover&&clearTimeout(t)}))};$this.opts.autorotate&&(t=setTimeout(forward,$this.opts.delay),$this.hover(function(){$this.opts.pauseonhover&&clearTimeout(t)},function(){t=setTimeout(forward,$this.opts.delay)}),$this.opts.pauseonhover&&$this.on("mouseleave",function(){clearTimeout(t),t=setTimeout(forward,$this.opts.delay)}));var move=function(t){"forward"==t&&(i=++i%elements.length),"backward"==t&&(i=--i%elements.length),elements.eq(i).click()};$this.find(options.controls.next).click(function(){move("forward")}),$this.find(options.controls.prev).click(function(){move("backward")}),$this.on("show",function(t,e){fn(t,e)}),$this.on("next",function(){move("forward")}),$this.on("prev",function(){move("backward")}),$this.on("destroy",function(){$(this).removeData().find("> ul li").each(function(){$(this).removeClass(options.activeclass)}),_tabs.each(function(t){$(this).removeAttr("style").css("display",_cache_div[t])})})}})},$(document).ready(function(){$('[data-toggle="tabslet"]').tabslet()})}(jQuery);
232
233$('.tabs').tabslet();
234(function($){
235    $.fn.extend({
236        center: function() {
237            this.each(function() {
238                var
239                    $this = $(this),
240                    $w = $(window);
241                $this.css({
242                    position: "absolute",
243                    top: ~~(($w.height() - $this.outerHeight()) / 2) + $w.scrollTop() + "px",
244                    left: ~~(($w.width() - $this.outerWidth()) / 2) + $w.scrollLeft() + "px"
245                });
246            });
247            return this;
248        }
249    });
250    $(function() {
251        var $container = function(){/*
252    <div id="modalContainer">
253        <iframe id="modalContent" scroll="0" scrolling="no" frameBorder="0"></iframe>
254    </div>');
255    */}.toString().slice(14,-3);
256        $('body')
257        .append($('<div id="modalBackpanel"></div>'))
258        .append($($container));
259        function closeModal () {
260            $('#modalContainer').hide();
261            $('#modalBackpanel').hide();
262        }
263        $('#modalBackpanel').on('click',closeModal);
264        zoom = function ($piProductNo, $piCategoryNo, $piDisplayGroup) {
265            var $url = '/product/image_zoom.html?product_no=' + $piProductNo + '&cate_no=' + $piCategoryNo + '&display_group=' + $piDisplayGroup;
266            $('#modalContent').attr('src', $url);
267            $('#modalContent').on("load",function(){
268                $(".header .close",this.contentWindow.document.body).on("click", closeModal);
269            });
270            $('#modalBackpanel').css({width:$("body").width(),height:$("body").height(),opacity:.4}).show();
271            $('#modalContainer').center().show();
272        }
273    });
274})(jQuery);

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.