PageSourceSearch

https://vleminckveld.com/ind-script/optimizer_user.php?filename=jY…60654f748164f0b596444d2&t=1765355150&user=T

js vleminckveld.com collected 2026-10-06 14:04:05 UTC 17,773 bytes, 452 lines download raw bytes

1$(function () {
2    var maqdiv = 0;
3    var maqLength = $('.marqueeBox2 > a').length;
4    var maqIndexleft = 0;
5  
6    for(var i = 0; i < maqLength; i++){
7        maqdiv += $('.marqueeBox2 a').eq(i).innerWidth();
8    }
9    
10    $('.marqueeBox2').width(maqdiv);
11  
12    function marquee() {
13        maqIndexleft--;
14
15        if (maqIndexleft < -maqdiv) {
16            maqIndexleft = $('.marquee2').width();
17        }
18        $('.marqueeBox2').css('left', maqIndexleft);
19    }
20
21    var marqueeSid = setInterval(marquee, 20);
22    
23    $('.marquee2').hover(function(){
24        clearInterval(marqueeSid);
25    },function(){
26        marqueeSid = setInterval(marquee, 20);
27    });
28  
29});
30$('#sidebarCollapse').click(function(){
31    $('#sidebar').addClass('active');
32    $('.overlay').fadeIn();
33});
34
35$('.side-close').click(function() {
36    $('#sidebar').removeClass('active');
37    $('.overlay').fadeOut();
38});
39
40
41
42
43
44
45
46$(".s-title").click(function() {
47   $(this).next(".s-cont").stop().slideToggle(300);
48  $(this).toggleClass('on').siblings().removeClass('on');
49  $(this).next(".s-cont").siblings(".s-cont").slideUp(300); // 1개씩 펼치기
50});
51$(function () {
52    var maqdiv = 0;
53    var maqLength = $('.marqueeBox > a').length;
54    var maqIndexleft = 0;
55  
56    for(var i = 0; i < maqLength; i++){
57        maqdiv += $('.marqueeBox a').eq(i).innerWidth();
58    }
59    
60    $('.marqueeBox').width(maqdiv);
61  
62    function marquee() {
63        maqIndexleft--;
64
65        if (maqIndexleft < -maqdiv) {
66            maqIndexleft = $('.marquee').width();
67        }
68        $('.marqueeBox').css('left', maqIndexleft);
69    }
70
71    var marqueeSid = setInterval(marquee, 20);
72    
73    $('.marquee').hover(function(){
74        clearInterval(marqueeSid);
75    },function(){
76        marqueeSid = setInterval(marquee, 20);
77    });
78  
79});
80/**
81 * 움직이는 배너 Jquery Plug-in
82 * @author  cafe24
83 */
84
85(function($){
86
87    $.fn.floatBanner = function(options) {
88        options = $.extend({}, $.fn.floatBanner.defaults , options);
89
90        return this.each(function() {
91            var aPosition = $(this).position();
92            var jbOffset = $(this).offset();
93            var node = this;
94
95            $(window).on('scroll', function() {
96                var _top = $(document).scrollTop();
97                _top = (aPosition.top < _top) ? _top : aPosition.top;
98
99                setTimeout(function () {
100                    var newinit = $(document).scrollTop();
101
102                    if ( newinit > jbOffset.top ) {
103                        _top -= jbOffset.top;
104                        var container_height = $("#wrap").height();
105                        var quick_height = $(node).height();
106                        var cul = container_height - quick_height;
107                        if(_top > cul){
108                            _top = cul;
109                        }
110                    } else {
111                        _top = 0;
112                    }
113
114                    $(node).stop().animate({top: _top}, options.animate);
115                }, options.delay);
116            });
117        });
118    };
119
120    $.fn.floatBanner.defaults = {
121        'animate'  : 500,
122        'delay'    : 500
123    };
124
125})(jQuery);
126
127/**
128 * 문서 구동후 시작
129 */
130$(function(){
131    $('#banner:visible, #quick:visible').floatBanner();
132
133    //placeholder
134    $(".ePlaceholder input, .ePlaceholder textarea").each(function(i){
135        var placeholderName = $(this).parents().attr('title');
136        $(this).attr("placeholder", placeholderName);
137    });
138    /* placeholder ie8, ie9 */
139    $.fn.extend({
140        placeholder : function() {
141            //IE 8 버전에는 hasPlaceholderSupport() 값이 false를 리턴
142           if (hasPlaceholderSupport() === true) {
143                return this;
144            }
145            //hasPlaceholderSupport() 값이 false 일 경우 아래 코드를 실행
146            return this.each(function(){
147                var findThis = $(this);
148                var sPlaceholder = findThis.attr('placeholder');
149                if ( ! sPlaceholder) {
150                   return;
151                }
152                findThis.wrap('<label class="ePlaceholder" />');
153                var sDisplayPlaceHolder = $(this).val() ? ' style="display:none;"' : '';
154                findThis.before('<span' + sDisplayPlaceHolder + '>' + sPlaceholder + '</span>');
155                this.onpropertychange = function(e){
156                    e = event || e;
157                    if (e.propertyName == 'value') {
158                        $(this).trigger('focusout');
159                    }
160                };
161                //공통 class
162                var agent = navigator.userAgent.toLowerCase();
163                if (agent.indexOf("msie") != -1) {
164                    $(".ePlaceholder").css({"position":"relative"});
165                    $(".ePlaceholder span").css({"position":"absolute", "padding":"0 4px", "color":"#878787"});
166                    $(".ePlaceholder label").css({"padding":"0"});
167                }
168            });
169        }
170    });
171
172    $(':input[placeholder]').placeholder(); //placeholder() 함수를 호출
173
174    //클릭하면 placeholder 숨김
175    $('body').on('click', '.ePlaceholder span', function(){
176        $(this).hide();
177    });
178
179    //input창 포커스 인 일때 placeholder 숨김
180    $('body').on('focusin', '.ePlaceholder :input', function(){
181        $(this).prev('span').hide();
182    });
183
184    //input창 포커스 아웃 일때 value 가 true 이면 숨김, false 이면 보여짐
185    $('body').on('focusout', '.ePlaceholder :input', function(){
186        if (this.value) {
187            $(this).prev('span').hide();
188        } else {
189            $(this).prev('span').show();
190        }
191    });
192
193    //input에 placeholder가 지원이 되면 true를 안되면 false를 리턴값으로 던져줌
194    function hasPlaceholderSupport() {
195        if ('placeholder' in document.createElement('input')) {
196            return true;
197        } else {
198            return false;
199        }
200    }
201});
202
203/**
204 *  썸네일 이미지 엑박일경우 기본값 설정
205 */
206$(window).on('load', function() {
207    $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){
208        var $img = new Image();
209        $img.onerror = function () {
210            $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
211        }
212        $img.src = this.src;
213    });
214});
215
216/**
217 *  tooltip
218 */
219$('.eTooltip').each(function(i){
220    $(this).find('.btnClose').attr('tabIndex','-1');
221});
222//tooltip input focus
223$('.eTooltip').find('input').on('focus', function() {
224    var targetName = returnTagetName(this);
225    targetName.siblings('.ec-base-tooltip').show();
226});
227$('.eTooltip').find('input').on('focusout', function() {
228    var targetName = returnTagetName(this);
229    targetName.siblings('.ec-base-tooltip').hide();
230});
231function returnTagetName(_this){
232    var ePlacename = $(_this).parent().attr("class");
233    var targetName;
234    if(ePlacename == "ePlaceholder"){ //ePlaceholder 대응
235        targetName = $(_this).parents();
236    }else{
237        targetName = $(_this);
238    }
239    return targetName;
240}
241
242/**
243 *  eTab
244 */
245$("body").on("click", ".eTab a", function(e){
246    // 클릭한 li 에 selected 클래스 추가, 기존 li에 있는 selected 클래스는 삭제.
247    var _li = $(this).parent("li").addClass("selected").siblings().removeClass("selected"),
248    _target = $(this).attr("href"),
249    _siblings = $(_target).attr("class"),
250    _arr = _siblings.split(" "),
251    _classSiblings = "."+_arr[0];
252
253    //클릭한 탭에 해당하는 요소는 활성화, 기존 요소는 비활성화 함.
254    $(_target).show().siblings(_classSiblings).hide();
255
256
257    //preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됨.
258    e.preventDefault();
259});
260
261
262
263//window popup script
264function winPop(url) {
265    window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no");
266}
267/**
268 * document.location.href split
269 * return array Param
270 */
271function getQueryString(sKey)
272{
273    var sQueryString = document.location.search.substring(1);
274    var aParam       = {};
275
276    if (sQueryString) {
277        var aFields = sQueryString.split("&");
278        var aField  = [];
279        for (var i=0; i<aFields.length; i++) {
280            aField = aFields[i].split('=');
281            aParam[aField[0]] = aField[1];
282        }
283    }
284
285    aParam.page = aParam.page ? aParam.page : 1;
286    return sKey ? aParam[sKey] : aParam;
287};
288
289$(function(){
290    // tab
291    $.eTab = function(ul){
292        $(ul).find('a').on('click', function(){
293            var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'),
294                _target = $(this).attr('href'),
295                _siblings = '.' + $(_target).attr('class');
296            $(_target).show().siblings(_siblings).hide();
297            return false
298        });
299    }
300    if ( window.call_eTab ) {
301        call_eTab();
302    };
303});
304(function($){
305    $.fn.extend({
306        center: function() {
307            this.each(function() {
308                var
309                    $this = $(this),
310                    $w = $(window);
311                $this.css({
312                    position: "absolute",
313                    top: ~~(($w.height() - $this.outerHeight()) / 2) + $w.scrollTop() + "px",
314                    left: ~~(($w.width() - $this.outerWidth()) / 2) + $w.scrollLeft() + "px"
315                });
316            });
317            return this;
318        }
319    });
320    $(function() {
321        var $container = function(){/*
322    <div id="modalContainer">
323        <iframe id="modalContent" scroll="0" scrolling="no" frameBorder="0"></iframe>
324    </div>');
325    */}.toString().slice(14,-3);
326        $('body')
327        .append($('<div id="modalBackpanel"></div>'))
328        .append($($container));
329        function closeModal () {
330            $('#modalContainer').hide();
331            $('#modalBackpanel').hide();
332        }
333        $('#modalBackpanel').on('click',closeModal);
334        zoom = function ($piProductNo, $piCategoryNo, $piDisplayGroup) {
335            var $url = '/product/image_zoom.html?product_no=' + $piProductNo + '&cate_no=' + $piCategoryNo + '&display_group=' + $piDisplayGroup;
336            $('#modalContent').attr('src', $url);
337            $('#modalContent').on("load",function(){
338                $(".header .close",this.contentWindow.document.body).on("click", closeModal);
339            });
340            $('#modalBackpanel').css({width:$("body").width(),height:$("body").height(),opacity:.4}).show();
341            $('#modalContainer').center().show();
342        }
343    });
344})(jQuery);
345$(function(){
346    var loginButtons = document.querySelectorAll('.header-login-btn');
347    
348    loginButtons.forEach(function(button) {
349        button.addEventListener('click', function() {
350            var contentValue = document.querySelector('meta[name="path_role"]').getAttribute('content');
351
352            // 회원가입(MEMBER_JOIN)일 경우 returnUrl 없이 리다이렉트
353            if (contentValue == 'MEMBER_JOIN') {
354                window.location.href = '/member/login.html';
355                return true;
356            }
357
358            // 기존 queryString이 있으면 유지함
359            var existingParams = new URLSearchParams(window.location.search);
360            var returnUrl = existingParams.has('returnUrl') ? existingParams.get('returnUrl') : window.location.pathname + window.location.search;
361            existingParams.set('returnUrl', returnUrl);
362
363            window.location.href = '/member/login.html?' + existingParams.toString();
364        });
365    });
366});
367$(function(){
368    if (typeof(EC_SHOP_MULTISHOP_SHIPPING) != "undefined") {
369        var sShippingCountryCode4Cookie = 'shippingCountryCode';
370        var bShippingCountryProc = false;
371
372        // 배송국가 선택 설정이 사용안함이면 숨김
373        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) {
374            $('.xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist').hide();
375            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptioncountry').hide();
376        } else {
377            $('.thumb .xans-layout-multishoplistitem').hide();
378            var aShippingCountryCode = document.cookie.match('(^|;) ?'+sShippingCountryCode4Cookie+'=([^;]*)(;|$)');
379            if (typeof(aShippingCountryCode) != 'undefined' && aShippingCountryCode != null && aShippingCountryCode.length > 2) {
380                var sShippingCountryValue = aShippingCountryCode[2];
381            }
382
383            // query string으로 넘어 온 배송국가 값이 있다면, 그 값을 적용함
384            var aHrefCountryValue = decodeURIComponent(location.href).split("/?country=");
385
386            if (aHrefCountryValue.length == 2) {
387                var sShippingCountryValue = aHrefCountryValue[1];
388            }
389
390            // 메인 페이지에서 국가선택을 안한 경우, 그 외의 페이지에서 셋팅된 값이 안 나오는 현상 처리
391            if (location.href.split("/").length != 4 && $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()) {
392                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
393
394                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
395                    $("#f_country").val($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
396                }
397            }
398            if (typeof(sShippingCountryValue) != "undefined" && sShippingCountryValue != "" && sShippingCountryValue != null) {
399                sShippingCountryValue = sShippingCountryValue.split("#")[0];
400                var bShippingCountryProc = true;
401
402                $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
403                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
404                var expires = new Date();
405                expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
406                document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
407                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
408                    $("#f_country").val(sShippingCountryValue).change();
409                }
410            }
411        }
412        // 언어선택 설정이 사용안함이면 숨김
413        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingLanguageSelection === false) {
414            $('.xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist').hide();
415            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptionlanguage').hide();
416        } else {
417            $('.thumb .xans-layout-multishoplistitem').hide();
418        }
419
420        // 배송국가 및 언어 설정이 둘 다 사용안함이면 숨김
421        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShipping === false) {
422            $(".xans-layout-multishopshipping").hide();
423            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption').hide();
424        } else if (bShippingCountryProc === false && location.href.split("/").length == 4) { // 배송국가 값을 처리한 적이 없고, 메인화면일 때만 선택 레이어를 띄움
425            var sShippingCountryValue = $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val();
426            $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
427            $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
428            // 배송국가 선택을 사용해야 레이어를 보이게 함
429            if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === true) {
430                $(".xans-layout-multishopshipping").show();
431            }
432        }
433
434        $(".xans-layout-multishopshipping .close").on("click", function() {
435            $(".xans-layout-multishopshipping").hide();
436        });
437
438        $(".xans-layout-multishopshipping .ec-base-button a").on("click", function() {
439            var expires = new Date();
440            expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
441            document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
442
443            // 도메인 문제로 쿠키로 배송국가 설정이 안 되는 경우를 위해 query string으로 배송국가 값
443을 넘김
444            var sQuerySting = (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) ? "" : "/?country="+encodeURIComponent($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
445
446            location.href = '//'+$(".xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist").val()+sQuerySting;
447        });
448        $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a").on("click", function() {
449            $(".xans-layout-multishopshipping").show();
450        });
451    }
452});

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.