first commit 2
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
if (typeof window.initPremiumAdSection === 'function') {
|
||||
// return;
|
||||
}
|
||||
|
||||
window.initPremiumAdSection = function(moduleId) {
|
||||
const $module = $('#' + moduleId);
|
||||
if (!$module.length) return;
|
||||
|
||||
$module.find('.premium-ad-row').each(function() {
|
||||
const $row = $(this);
|
||||
const $swiperContainer = $row.find('.swiper-container');
|
||||
|
||||
// 설정된 컬럼 수 (예: 6)
|
||||
const configColumns = parseInt($swiperContainer.data('slides-per-view'), 10) || 6;
|
||||
const spaceBetween = parseInt($swiperContainer.data('space-between'), 10) || 10;
|
||||
// 실제 슬라이드 개수 (예: 3)
|
||||
const totalSlides = $swiperContainer.find('.swiper-slide').length;
|
||||
|
||||
// 💡 [핵심 수정] 슬라이드 개수가 설정된 컬럼 수보다 적으면, 개수만큼만 보여줘서 꽉 채움
|
||||
// 예: 6개 설정인데 3개만 있다면, 3개를 100% 너비로 꽉 채워서 보여줌
|
||||
let slidesPerViewPC = configColumns;
|
||||
if (totalSlides > 0 && totalSlides < configColumns) {
|
||||
slidesPerViewPC = totalSlides;
|
||||
}
|
||||
|
||||
// 슬라이드가 1개면 롤링 안 함, 2개 이상이면 무조건 롤링
|
||||
const loop = totalSlides > 1;
|
||||
|
||||
new Swiper($swiperContainer[0], {
|
||||
slidesPerView: 2, // 모바일 기본값
|
||||
spaceBetween: spaceBetween,
|
||||
loop: loop,
|
||||
autoplay: {
|
||||
delay: 3000,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
navigation: {
|
||||
nextEl: $row.find('.swiper-button-next')[0],
|
||||
prevEl: $row.find('.swiper-button-prev')[0],
|
||||
},
|
||||
breakpoints: {
|
||||
640: {
|
||||
slidesPerView: (totalSlides < 3) ? totalSlides : 3
|
||||
},
|
||||
768: {
|
||||
slidesPerView: (totalSlides < 4) ? totalSlides : 4
|
||||
},
|
||||
1024: {
|
||||
// 💡 PC에서는 계산된 slidesPerViewPC 사용
|
||||
slidesPerView: slidesPerViewPC
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$('.premium-ad-section').each(function() {
|
||||
window.initPremiumAdSection($(this).attr('id'));
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user