1let delayTime = 6000; 2 3let visualSwiper = new Swiper(".visual-swiper", { 4 autoplay: { 5 delay: delayTime, 6 disableOnInteraction: false 7 }, 8 speed:1000, 9 effect:'fade', 10 loop:true, 11 allowTouchMove: false, 12 pagination: { 13 el: ".swiper-pagination", 14 type: "fraction", 15 renderFraction: function (currentClass, totalClass) { 16 return `<span class="${currentClass}"></span> 17 <span class="dot"></span> 18 <span class="${totalClass}"></span>`; 19 }, 20 }, 21 navigation: { 22 nextEl: ".swiper-button-next", 23 prevEl: ".swiper-button-prev", 24 }, 25}) 26 27function slideVideoFunc(){ 28 visualSwiper.autoplay.stop(); 29 30 const activeVideo = visualSwiper.slides[visualSwiper.activeIndex].querySelector('video'); 31 32 activeVideo.currentTime = 0; 33 activeVideo.play(); 34 35 visualSwiper.autoplay.stop(); 36 visualSwiper.autoplay.start(); 37} 38 39visualSwiper.on('slideChangeTransitionStart', slideVideoFunc); 40 41const marqueeLength = 21; 42const marqueeBanner = document.querySelector('.marquee-banner .marquee-inner'); 43 44for (let i = 0; i < marqueeLength; i++) { 45 const marqueeItem = document.createElement('div'); 46 let num; 47 if(i + 1 < 10) { 48 num = `0${i + 1}`; 49 } else { 50 num = i + 1; 51 } 52 marqueeItem.className = 'marquee-item'; 53 marqueeItem.innerHTML = `<img src="/img/main/partners/logo_${num}.png" alt="">`; 54 marqueeBanner.appendChild(marqueeItem); 55} 56 57const marqueeClone = marqueeBanner.cloneNode(true); 58marqueeBanner.parentNode.appendChild(marqueeClone); 59 60let platformSwiper = new Swiper(".platform-swiper", { 61 spaceBetween: 0, 62 effect: "fade", 63 fadeEffect: { crossFade: true }, 64 loop: true, 65 speed: 500, 66 navigation: { 67 nextEl: ".swiper-button-next", 68 prevEl: ".swiper-button-prev", 69 }, 70 pagination: { 71 el: ".swiper-pagination", 72 clickable: true, 73 }, 74}); 75 76$('.solution-btn__list .solution-btn').on('click', function(){ 77 const idx = $(this).index(); 78 const videoItem = $('.solution-cont .video-box .item'); 79 const textItem = $('.solution-cont .solution-text .item'); 80 const link = $(this).data('link'); 81 82 $('.solution-btn__list .solution-btn').removeClass('on'); 83 $(this).addClass('on'); 84 videoItem.removeClass('on'); 85 videoItem.eq(idx).addClass('on'); 86 videoItem.eq(idx).find('video').get(0).currentTime = 0; 87 videoItem.eq(idx).find('video').get(0).play() 88 textItem.removeClass('on'); 89 textItem.eq(idx).addClass('on') 90 if (link) { 91 $('.solution-view-more').attr('href', link); 92 } 93}); 94 95let caseSwiper = new Swiper(".case-swiper", { 96 spaceBetween: 0, 97 effect: "fade", 98 fadeEffect: { crossFade: true }, 99 loop: true, 100 speed: 500, 101 autoplay: { 102 delay: 4000, 103 disableOnInteraction: false, 104 }, 105 navigation: { 106 nextEl: ".case-swiper__block .swiper-button-next", 107 prevEl: ".case-swiper__block .swiper-button-prev", 108 }, 109}); 110 111function caseViewMoreFunc(){ 112 const link = caseSwiper.slides[caseSwiper.activeIndex].dataset.link; 113 if (link) { 114 $('.case-view-more').attr('href', link); 115 } 116} 117 118caseSwiper.on('slideChangeTransitionStart', caseViewMoreFunc); 119caseViewMoreFunc(); 120 121let newsSwiper = new Swiper(".news-swiper", { 122 slidesPerView: 1, 123 spaceBetween: 20, 124 loop: true, 125 speed: 500, 126 navigation: { 127 nextEl: ".news-swiper__block .swiper-button-next", 128 prevEl: ".news-swiper__block .swiper-button-prev", 129 }, 130 breakpoints: { 131 641: { 132 slidesPerView:2, 133 spaceBetween: 20, 134 }, 135 1025: { 136 slidesPerView: 3, 137 spaceBetween: 30, 138 }, 139 }, 140}); 141 142let platformListSwiper = null; 143const platformListMql = window.matchMedia('(max-width: 1024px)'); 144 145function initPlatformListSwiper() { 146 if (platformListSwiper) return; 147 const wrap = document.querySelector('.platform-list-swiper'); 148 const list = wrap && wrap.querySelector('.platform__list'); 149 if (!wrap || !list) return; 150 151 wrap.classList.add('swiper'); 152 list.classList.add('swiper-wrapper'); 153 list.querySelectorAll(':scope > li').forEach(li => li.classList.add('swiper-slide')); 154 155 platformListSwiper = new Swiper(wrap, { 156 slidesPerView: 1.15, 157 spaceBetween: 12, 158 pagination: { 159 el: '.platform-list-pagination', 160 clickable: true, 161 }, 162 });
163} 164 165function destroyPlatformListSwiper() { 166 if (!platformListSwiper) return; 167 platformListSwiper.destroy(true, true); 168 platformListSwiper = null; 169 170 const wrap = document.querySelector('.platform-list-swiper'); 171 const list = wrap && wrap.querySelector('.platform__list'); 172 if (!wrap || !list) return; 173 174 wrap.classList.remove('swiper'); 175 list.classList.remove('swiper-wrapper'); 176 list.querySelectorAll(':scope > li').forEach(li => li.classList.remove('swiper-slide')); 177} 178 179function handlePlatformListMql(e) { 180 if (e.matches) { 181 initPlatformListSwiper(); 182 } else { 183 destroyPlatformListSwiper(); 184 } 185 // DOM êµ¬ì¡°ê° ë°ëë©´ì AOSê° ê³ì°í´ë í¸ë¦¬ê±° ìì¹ê° ì´ê¸ëë ê² ë°©ì§ 186 if (window.AOS) AOS.refresh(); 187} 188 189handlePlatformListMql(platformListMql); 190platformListMql.addEventListener('change', handlePlatformListMql); 191 192AOS.init({ 193 once: true, 194 duration: 500, 195 offset: window.innerWidth <= 768 ? 60 : 80, 196}); 197 198// aos.jsë load ì´ë²¤í¸ë¥¼ ë°ì¸ë©íì§ ìì, ì´ë¯¸ì§Â·ì¹í°í¸ ë¡ëë¡ ë ì´ììì´ ë°ë¦° ë¤ í¸ë¦¬ê±° ìì¹ë¥¼ ë¤ì ê³ì°íì§ ìëë¤ 199window.addEventListener('load', () => AOS.refresh()); 200 201// 모ë°ì¼/ì¸ì± ë¸ë¼ì°ì ìëì¬ì ì°¨ë¨ ëì: ì¬ì ì¤í¨ ì 첫 ì¬ì©ì í°ì¹ì ì¬ìë 202function retryAutoplayVideos() { 203 document.querySelectorAll('video.bg-video').forEach(video => { 204 if (video.paused) { 205 video.play().catch(() => {}); 206 } 207 }); 208} 209 210document.querySelectorAll('video.bg-video').forEach(video => { 211 const playPromise = video.play(); 212 if (playPromise && typeof playPromise.catch === 'function') { 213 playPromise.catch(() => {}); 214 } 215}); 216 217['touchstart', 'click'].forEach(evt => { 218 document.addEventListener(evt, retryAutoplayVideos, { once: true, passive: true }); 219});
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.