$(function () { $(".main-visual-slide").each(function () { var $visualSlide = $(this); var $visualSlideItem = $(this).find(".main-visual-item"); var visualNum = $visualSlideItem.length; var $visualControls = $(".main-visual-controls"); $visualControls.find(".visual-paging-controls .total").text("0" + visualNum); $visualSlide.on("init", function (event, slick) { $(".main-visual-con .slick-dots").find("li").eq(0).addClass("active-item"); $(".progress-bar-con").addClass("active") $(".main-visual-item").addClass("active") }); $visualSlide.on("beforeChange", function (event, slick, currentSlide, nextSlide) { $(".main-visual-con .slick-dots").find("li").removeClass("active-item"); $(this).find(".slick-dots").find("li").eq(nextSlide).addClass("active-item"); $(".main-visual-item").removeClass("active") $visualControls.find(".visual-paging-controls .cur").text("0" + (nextSlide + 1)); $(".progress-bar-con").removeClass("active") }); $visualSlide.on("afterChange", function (event, slick, currentSlide, nextSlide) { $(".progress-bar-con").addClass("active") $(".main-visual-item").addClass("active") }) $visualSlide.slick({ slidesToShow: 1, autoplay: false, infinity: true, speed: 1000, autoplaySpeed:5000, dots: false, fade: true, arrows: false, focusOnSelect: false, pauseOnHover:false, prevArrow: ".main-visual-controls .prev-btn", nextArrow: ".main-visual-controls .next-btn", }); }); // swiper 인스턴스 저장용 배열 let swiperInstances = []; $(".main-visual-portfolio-slide").each(function (index) { let con = $(this); con.addClass("swiper-" + index); // 함수로 슬라이더 생성 function createSwiper() { let swiper = new Swiper(con[0], { slidesPerView: "auto", loop: true, mousewheelControl: false, touchRatio: 0, resistanceRatio: 0, centeredSlides: true, autoplay: { delay: 0, disableOnInteraction: false, }, speed: 5000, navigation: { nextEl: ".swiper-button.swiper-button-next", prevEl: ".swiper-button.swiper-button-prev", }, }); return swiper; } // 최초 768 이상이면 swiper 생성 if ($(window).width() > 768) { swiperInstances[index] = createSwiper(); con.data('swiper-init', true); } else { swiperInstances[index] = null; con.data('swiper-init', false); } // 리사이즈 시 처리 $(window).on('resize', function () { // 768 이하로 내려간 경우: swiper가 있으면 destroy if ($(window).width() <= 768) { if (con.data('swiper-init')) { if (swiperInstances[index]) { swiperInstances[index].destroy(true, true); swiperInstances[index] = null; } con.data('swiper-init', false); } } // 769 이상으로 올라간 경우: swiper가 없으면 다시 생성 else { if (!con.data('swiper-init')) { swiperInstances[index] = createSwiper(); con.data('swiper-init', true); } } }); }); $(".cm-tab-menu").find("li").click(function () { let index = $(this).index(); $(this).parent().children().removeClass("active") $(this).addClass("active") $(".main-portfolio-tab-con").find(".portfolio-list-con").hide() $(".main-portfolio-tab-con").find(".portfolio-list-con").removeClass("active") $(".main-portfolio-tab-con").find(".portfolio-list-con").eq(index).fadeIn(500); $(".main-portfolio-tab-con").find(".portfolio-list-con").eq(index).addClass("active") if ($(".portfolio-list-con.photo").hasClass("active")){ photoSlide(); } }) function photoSlide() { $(".main-photo-slide").each(function (index) { let t = $(this); t.addClass("swiper-" + index); let swiper = new Swiper(t, { slidesPerView:"auto", loop:true, mousewheelControl: false, centeredSlides: true, autoplay: { delay: 0, disableOnInteraction:false, }, speed:5000, navigation: false, navigation: { nextEl: ".swiper-button.swiper-button-next", prevEl: ".swiper-button.swiper-button-prev", }, }); }) } /* 풀페이지 사용 시, 탑 버튼 */ $(".top-btn").click(function (e) { e.preventDefault(); if ($("#fullpage").length > 0) { $.fn.fullpage.moveTo(1); } else { $("html, body").animate({ scrollTop: 0 }, 300); } return false }) });