var imgLiquid = imgLiquid || {VER: '0.9.944'}; imgLiquid.bgs_Available = false; imgLiquid.bgs_CheckRunned = false; imgLiquid.injectCss = '.imgLiquid img {visibility:hidden}'; (function ($) { // ___________________________________________________________________ function checkBgsIsavailable() { if (imgLiquid.bgs_CheckRunned) return; else imgLiquid.bgs_CheckRunned = true; var spanBgs = $(''); $('body').append(spanBgs); !function () { var bgs_Check = spanBgs[0]; if (!bgs_Check || !window.getComputedStyle) return; var compStyle = window.getComputedStyle(bgs_Check, null); if (!compStyle || !compStyle.backgroundSize) return; imgLiquid.bgs_Available = (compStyle.backgroundSize === 'cover'); }(); spanBgs.remove(); } // ___________________________________________________________________ $.fn.extend({ imgLiquid: function (options) { this.defaults = { fill: true, verticalAlign: 'center', // 'top' // 'bottom' // '50%' // '10%' horizontalAlign: 'center', // 'left' // 'right' // '50%' // '10%' useBackgroundSize: true, useDataHtmlAttr: true, responsive: true, /* Only for use with BackgroundSize false (or old browsers) */ delay: 0, /* Only for use with BackgroundSize false (or old browsers) */ fadeInTime: 0, /* Only for use with BackgroundSize false (or old browsers) */ removeBoxBackground: true, /* Only for use with BackgroundSize false (or old browsers) */ hardPixels: true, /* Only for use with BackgroundSize false (or old browsers) */ responsiveCheckTime: 500, /* Only for use with BackgroundSize false (or old browsers) */ /* time to check div resize */ timecheckvisibility: 500, /* Only for use with BackgroundSize false (or old browsers) */ /* time to recheck if visible/loaded */ // CALLBACKS onStart: null, // no-params onFinish: null, // no-params onItemStart: null, // params: (index, container, img ) onItemFinish: null, // params: (index, container, img ) onItemError: null // params: (index, container, img ) }; checkBgsIsavailable(); var imgLiquidRoot = this; // Extend global settings this.options = options; this.settings = $.extend({}, this.defaults, this.options); // CallBack if (this.settings.onStart) this.settings.onStart(); // ___________________________________________________________________ return this.each(function ($i) { // MAIN >> each for image var settings = imgLiquidRoot.settings, $imgBoxCont = $(this), $img = $('img:first',$imgBoxCont); if (!$img.length) {onError(); return;} // Extend settings if (!$img.data('imgLiquid_settings')) { // First time settings = $.extend({}, imgLiquidRoot.settings, getSettingsOverwrite()); } else { // Recall // Remove Classes $imgBoxCont.removeClass('imgLiquid_error').removeClass('imgLiquid_ready'); settings = $.extend({}, $img.data('imgLiquid_settings'), imgLiquidRoot.options); } $img.data('imgLiquid_settings', settings); // Start CallBack if (settings.onItemStart) settings.onItemStart($i, $imgBoxCont, $img); /* << CallBack */ // Process if (imgLiquid.bgs_Available && settings.useBackgroundSize) processBgSize(); else processOldMethod(); // END MAIN << // ___________________________________________________________________ function processBgSize() { // Check change img src if ($imgBoxCont.css('background-image').indexOf(encodeURI($img.attr('src'))) === -1) { // Change $imgBoxCont.css({'background-image': 'url("' + encodeURI($img.attr('src')) + '")'}); } $imgBoxCont.css({ 'background-size': (settings.fill) ? 'cover' : 'contain', 'background-position': (settings.horizontalAlign + ' ' + settings.verticalAlign).toLowerCase(), 'background-repeat': 'no-repeat' }); $('a:first', $imgBoxCont).css({ 'display': 'block', 'width': '100%', 'height': '100%' }); $('img', $imgBoxCont).css({'display': 'none'}); if (settings.onItemFinish) settings.onItemFinish($i, $imgBoxCont, $img); /* << CallBack */ $imgBoxCont.addClass('imgLiquid_bgSize'); $imgBoxCont.addClass('imgLiquid_ready'); checkFinish(); } // ___________________________________________________________________ function processOldMethod() { // Check change img src if ($img.data('oldSrc') && $img.data('oldSrc') !== $img.attr('src')) { /* Clone & Reset img */ var $imgCopy = $img.clone().removeAttr('style'); $imgCopy.data('imgLiquid_settings', $img.data('imgLiquid_settings')); $img.parent().prepend($imgCopy); $img.remove(); $img = $imgCopy; $img[0].width = 0; // Bug ie with > if (!$img[0].complete && $img[0].width) onError(); setTimeout(processOldMethod, 10); return; } // Reproceess? if ($img.data('imgLiquid_oldProcessed')) { makeOldProcess(); return; } // Set data $img.data('imgLiquid_oldProcessed', false); $img.data('oldSrc', $img.attr('src')); // Hide others images $('img:not(:first)', $imgBoxCont).css('display', 'none'); // CSSs $imgBoxCont.css({'overflow': 'hidden'}); $img.fadeTo(0, 0).removeAttr('width').removeAttr('height').css({ 'visibility': 'visible', 'max-width': 'none', 'max-height': 'none', 'width': 'auto', 'height': 'auto', 'display': 'block' }); // CheckErrors $img.on('error', onError); $img[0].onerror = onError; // loop until load function onLoad() { if ($img.data('imgLiquid_error') || $img.data('imgLiquid_loaded') || $img.data('imgLiquid_oldProcessed')) return; if ($imgBoxCont.is(':visible') && $img[0].complete && $img[0].width > 0 && $img[0].height > 0) { $img.data('imgLiquid_loaded', true); setTimeout(makeOldProcess, $i * settings.delay); } else { setTimeout(onLoad, settings.timecheckvisibility); } } onLoad(); checkResponsive(); } // ___________________________________________________________________ function checkResponsive() { /* Only for oldProcessed method (background-size dont need) */ if (!settings.responsive && !$img.data('imgLiquid_oldProcessed')) return; if (!$img.data('imgLiquid_settings')) return; settings = $img.data('imgLiquid_settings'); $imgBoxCont.actualSize = $imgBoxCont.get(0).offsetWidth + ($imgBoxCont.get(0).offsetHeight / 10000); if ($imgBoxCont.sizeOld && $imgBoxCont.actualSize !== $imgBoxCont.sizeOld) makeOldProcess(); $imgBoxCont.sizeOld = $imgBoxCont.actualSize; setTimeout(checkResponsive, settings.responsiveCheckTime); } // ___________________________________________________________________ function onError() { $img.data('imgLiquid_error', true); $imgBoxCont.addClass('imgLiquid_error'); if (settings.onItemError) settings.onItemError($i, $imgBoxCont, $img); /* << CallBack */ checkFinish(); } // ___________________________________________________________________ function getSettingsOverwrite() { var SettingsOverwrite = {}; if (imgLiquidRoot.settings.useDataHtmlAttr) { var dif = $imgBoxCont.attr('data-imgLiquid-fill'), ha = $imgBoxCont.attr('data-imgLiquid-horizontalAlign'), va = $imgBoxCont.attr('data-imgLiquid-verticalAlign'); if (dif === 'true' || dif === 'false') SettingsOverwrite.fill = Boolean (dif === 'true'); if (ha !== undefined && (ha === 'left' || ha === 'center' || ha === 'right' || ha.indexOf('%') !== -1)) SettingsOverwrite.horizontalAlign = ha; if (va !== undefined && (va === 'top' || va === 'bottom' || va === 'center' || va.indexOf('%') !== -1)) SettingsOverwrite.verticalAlign = va; } if (imgLiquid.isIE && imgLiquidRoot.settings.ieFadeInDisabled) SettingsOverwrite.fadeInTime = 0; //ie no anims return SettingsOverwrite; } // ___________________________________________________________________ function makeOldProcess() { /* Only for old browsers, or useBackgroundSize seted false */ // Calculate size var w, h, wn, hn, ha, va, hdif, vdif, margT = 0, margL = 0, $imgCW = $imgBoxCont.width(), $imgCH = $imgBoxCont.height(); // Save original sizes if ($img.data('owidth') === undefined) $img.data('owidth', $img[0].width); if ($img.data('oheight') === undefined) $img.data('oheight', $img[0].height); // Compare ratio if (settings.fill === ($imgCW / $imgCH) >= ($img.data('owidth') / $img.data('oheight'))) { w = '100%'; h = 'auto'; wn = Math.floor($imgCW); hn = Math.floor($imgCW * ($img.data('oheight') / $img.data('owidth'))); } else { w = 'auto'; h = '100%'; wn = Math.floor($imgCH * ($img.data('owidth') / $img.data('oheight'))); hn = Math.floor($imgCH); } // Align X ha = settings.horizontalAlign.toLowerCase(); hdif = $imgCW - wn; if (ha === 'left') margL = 0; if (ha === 'center') margL = hdif * 0.5; if (ha === 'right') margL = hdif; if (ha.indexOf('%') !== -1){ ha = parseInt (ha.replace('%',''), 10); if (ha > 0) margL = hdif * ha * 0.01; } // Align Y va = settings.verticalAlign.toLowerCase(); vdif = $imgCH - hn; if (va === 'left') margT = 0; if (va === 'center') margT = vdif * 0.5; if (va === 'bottom') margT = vdif; if (va.indexOf('%') !== -1){ va = parseInt (va.replace('%',''), 10); if (va > 0) margT = vdif * va * 0.01; } // Add Css if (settings.hardPixels) {w = wn; h = hn;} $img.css({ 'width': w, 'height': h, 'margin-left': Math.floor(margL), 'margin-top': Math.floor(margT) }); // FadeIn > Only first time if (!$img.data('imgLiquid_oldProcessed')) { $img.fadeTo(settings.fadeInTime, 1); $img.data('imgLiquid_oldProcessed', true); if (settings.removeBoxBackground) $imgBoxCont.css('background-image', 'none'); $imgBoxCont.addClass('imgLiquid_nobgSize'); $imgBoxCont.addClass('imgLiquid_ready'); } if (settings.onItemFinish) settings.onItemFinish($i, $imgBoxCont, $img); /* << CallBack */ checkFinish(); } // ___________________________________________________________________ function checkFinish() { /* Check callBack */ if ($i === imgLiquidRoot.length - 1) if (imgLiquidRoot.settings.onFinish) imgLiquidRoot.settings.onFinish(); } }); } }); })(jQuery); /*! * Lettering.JS 0.7.0 * * Copyright 2010, Dave Rupert http://daverupert.com * Released under the WTFPL license * http://sam.zoy.org/wtfpl/ * * Thanks to Paul Irish - http://paulirish.com - for the feedback. * * Date: Mon Sep 20 17:14:00 2010 -0600 */ (function($){ function injector(t, splitter, klass, after) { var text = t.text() , a = text.split(splitter) , inject = ''; if (a.length) { $(a).each(function(i, item) { inject += ''+item+''+after; //inject += ''+after; }); //t.attr('aria-label',text) t.empty() .append(inject) } } function injectorHtml(t, splitter, klass, after) { var text = t.html() , a = text.split(splitter) , inject = ''; if (a.length) { $(a).each(function(i, item) { inject += ''+item+''+after; //inject += ''+after; }); //t.attr('aria-label',text) t.empty() .append(inject) } } var methods = { init : function() { return this.each(function() { injector($(this), '', 'char', ''); }); }, words : function() { return this.each(function() { injector($(this), ' ', 'word', ' '); }); }, lines : function() { return this.each(function() { var r = "eefec303079ad17405c889e092e105b0"; // Because it's hard to split a
tag consistently across browsers, // (*ahem* IE *ahem*), we replace all
instances with an md5 hash // (of the word "split"). If you're trying to use this plugin on that // md5 hash string, it will fail because you're being ridiculous. injector($(this).children("br").replaceWith(r).end(), r, 'line', ''); }); }, linesHtml : function() { return this.each(function() { var r = "eefec303079ad17405c889e092e105b0"; // Because it's hard to split a
tag consistently across browsers, // (*ahem* IE *ahem*), we replace all
instances with an md5 hash // (of the word "split"). If you're trying to use this plugin on that // md5 hash string, it will fail because you're being ridiculous. injectorHtml($(this).children("br").replaceWith(r).end(), r, 'line', ''); }); } }; $.fn.lettering = function( method ) { // Method calling logic if ( method && methods[method] ) { return methods[ method ].apply( this, [].slice.call( arguments, 1 )); } else if ( method === 'letters' || ! method ) { return methods.init.apply( this, [].slice.call( arguments, 0 ) ); // always pass an array } $.error( 'Method ' + method + ' does not exist on jQuery.lettering' ); return this; }; })(jQuery); !function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i(''; } }); _plugin.$carousel.on('afterChange', function(e, slick, currentSlide, direction){ // updateDuration(_plugin); // interval(); }); $('.progressBarContainer .progressBar').each(function(index) { var progress = "
"; $(this).html(progress); }); function startProgressbar() { resetProgressbar(); percentTime = 0; isPause = false tick = setInterval(interval, 10); updateControl(_plugin) } function interval() { var defaultInterval = 3; // 닷컴요청 기본값 15초 ICS 개발 디폴트값도 확인필요함 var dataInterval = _plugin.$carousel.data("interval"); var carouselInterval = dataInterval ? dataInterval : defaultInterval; if (($('.slider .slick-track div[data-slick-index="' + progressBarIndex + '"]').attr("aria-hidden")) === "true") { progressBarIndex = $('.slider .slick-track div[aria-hidden="false"]').data("slickIndex"); startProgressbar(); // console.log("슬라이드가 넘어갈때 호출") } else { if (isPause === false) { //정지가 아니였을땐 // console.log("게이지가 찬다") percentTime += 0.4 / (time + carouselInterval); $('.inProgress' + progressBarIndex).css({ width: percentTime + "%" }); if (percentTime >= 100) { //if (isPause === false) { $('.single-item').slick('slickNext'); progressBarIndex++; if (progressBarIndex > 2) { progressBarIndex = 0; } startProgressbar(); //} } } } } function resetProgressbar() { $('.inProgress').css({ width: 0 + '%' }); clearInterval(tick); // console.log("ResetProgressbar") } startProgressbar(); } // setCarousel end // Set carousel Aria function updateCarouselAria(_plugin){ _plugin.$carouselItem.attr("aria-hidden", true).find("a, button").attr("tabindex", -1); _plugin.$carouselItem.eq(_plugin.currentIndex).removeAttr("aria-hidden").find("a, button").removeAttr("tabindex"); // _plugin.$pagn.is("[tabindex]") && _plugin.$pagn.removeAttr("tabindex"); } // Update Control function updateControl(_plugin){ if(_plugin.$indigatorArea.hasClass("on")){ // console.log("ttt"); sequenceControl(_plugin, "PLAY", false); } // _plugin.$indigatorArea.addClass('on'); } // Sequence Control: play, stop function sequenceControl(_plugin, option, changeFocus){ switch (option) { case "PLAY": _plugin.$indigatorArea.removeClass('on'); // 20220721 네비게이터 수정 // _plugin.$carousel.trigger('play', true); _this.$carousel.slick('slickPlay'); _plugin.$carouselItem.find("video").trigger('play'); break; case "STOP": _plugin.$indigatorArea.addClass('on'); // 20220721 네비게이터 수정 // _plugin.$carousel.trigger('pause', true); _this.$carousel.slick('slickPause'); _plugin.$carouselItem.find("video").trigger('pause'); break; // default: // break; } } this.init(); } fo.addPlugin(mVisual_G);