๋ชฉ์ฐจ
Jquery ์ค์์ดํผ ์ฌ๋ผ์ด๋ ํ๋ฌ๊ทธ์ธ idangerous.swiper.js pagination ์คํ์ผ ๋ณ๊ฒฝํ๊ธฐ
์๋ก
๋ชจ๋ฐ์ผ ์น ๊ฐ๋ฐ์์ ์ฌ๋ผ์ด๋ ๊ธฐ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. idangerous.swiper.js ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ฐ์ผ์์ ํฐ์น ์ ์ค์ฒ๋ฅผ ํ์ฉํ์ฌ ์ฌ๋ผ์ด๋๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ตฌํํ ์ ์๋ ํ๋ฅญํ ๋๊ตฌ ์ค ํ๋์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด ํ๋ฌ๊ทธ์ธ์ ํ์ด์ง ๊ธฐ๋ฅ์ ์ซ์๋ ๋ถ๋ฆฟ ํํ๋ก๋ง ์ ๊ณต๋์ด, ํ ์คํธ ๋ฌธ์ฅ์ผ๋ก ํ์ด์ง๋ค์ด์ ์ ํํํ๊ธฐ ์ด๋ ต์ต๋๋ค.

์ด์ ๋์ํ๊ธฐ ์ํด ํ ์คํธ ๋ฌธ์ฅ์ ํ์ด์ง ์ฒ๋ฆฌํ๋ ๊ผผ์๋ฅผ ์ฌ์ฉํ๋ ค ํ์ผ๋ฉฐ, ์ฒ์์๋ ๋๋ต 6~8๊ฐ์ ํ์ด์ง๋ฅผ ํ์ํ๋๋ก ์ค์ ํ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์์ด๋์ ์์ฒญ์ผ๋ก 10๊ฐ์ ํ์ด์ง๊ฐ ๋ฑ๋ก๋์์ ๋ ์ด๋ฐ 6๊ฐ๋ง ๋ณด์ด๊ณ , ๋๋จธ์ง๋ ๋ค์ ํ์ด์ง์์ ๋ณด์ด๋๋ก ์ฒ๋ฆฌํด์ผ ํ์ต๋๋ค. ์ด๋ฌํ ์ฒ๋ฆฌ๋ฅผ ํ๋ ค๋ฉด ํ๋ฌ๊ทธ์ธ์ ์ฝ์ด๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋๋ฐ, ์ด๋ ์ต์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ๋๋ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค.

๊ทธ๋์ ์ ๋ setInterval ํจ์๋ฅผ ํ์ฉํ์ฌ ํ์ด์ง๋ค์ด์ ์ ์ง์์ ์ผ๋ก ์ฒดํฌํ๊ณ , swiper-pagination-switch์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ 6๊ฐ (๋๋ 7๊ฐ)๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ์๋ "vpage1" ํด๋์ค๋ฅผ ๋ถ์ฌํ๊ณ , ๋ค์ชฝ์๋ "vPage2"๋ฅผ ๋ถ์ฌํ๋ ๊ผผ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ด๋ฅผ ํตํด 2๊ฐ์ ํ์ด์ง์ ์ ์ฌํ ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์์์ต๋๋ค.

var tmpNo = 0;
$('.popupZone .swiper-slide a').each(function(index, element) {
var tmpNo2 = tmpNo + 1;
var tmpTxt = '<span class="popNo mobileHide">' + tmpNo2 + '</span><span class="popTxt">' + $(this).attr('title') + "</span>";
$('.pagination5 > a:eq(' + tmpNo + ')').html(tmpTxt);
$('.pagination5 > a').attr('href', '#link');
tmpNo++;
});
$('.popupZoneCnt .totalCnt').text($('.pagination5 > a').length);
setInterval(function() {
checkActive(6);
}, 200);
function checkActive(e) {
var p2end = $('.swiper-pagination-switch').length;
$('.swiper-pagination-switch').slice(0, e).addClass('vPage1');
$('.swiper-pagination-switch').slice(e, p2end).addClass('vPage2');
if (parseInt($('.swiper-active-switch .popNo').text()) > e) {
$('.vPage2').show();
$('.vPage1').hide();
} else {
$('.vPage2').hide();
$('.vPage1').show();
}
}
๋ณธ๋ฌธ
์ด์ ๋ ์์ธํ ์ค๋ช ํด๋ณด๊ฒ ์ต๋๋ค. idangerous.swiper.js ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ๋ชจ๋ฐ์ผ ์น ํ์ด์ง์์ ๊ฐํธํ๊ฒ ์ฌ๋ผ์ด๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ํ๋ฌ๊ทธ์ธ์์ ์ ๊ณตํ๋ ํ์ด์ง๋ค์ด์ ๊ธฐ๋ฅ์ ์ซ์๋ ๋ถ๋ฆฟ ํํ๋ก๋ง ํํ๋์ด, ์ํ๋ ํ ์คํธ ๋ฌธ์ฅ์ผ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฅ์ ๊ฑด๋๋ฆฌ์ง ์๊ณ ์ํ๋ ์คํ์ผ๋ก ํ์ด์ง์ ๊ตฌํํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ๊ผผ์๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ๋จผ์ , ๊ฐ ์ฌ๋ผ์ด๋ ์์์ ์์์ธ <a>
ํ๊ทธ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ํด๋น ํ์ด์ง์ ์ ๋ชฉ์ ์ถ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ
์คํธ ๋ฌธ์ฅ์ผ๋ก ๋ ํ์ด์ง๋ค์ด์
์ ๊ตฌ์ฑํฉ๋๋ค.
var tmpNo = 0;
$('.popupZone .swiper-slide a').each(function(index, element) {
var tmpNo2 = tmpNo + 1;
var tmpTxt = '<span class="popNo mobileHide">' + tmpNo2 + '</span><span class="popTxt">' + $(this).attr('title') + "</span>";
$('.pagination5 > a:eq(' + tmpNo + ')').html(tmpTxt);
$('.pagination5 > a').attr('href', '#link');
tmpNo++;
});
๋ํ, ํ์ด์ง๋ค์ด์ ์ ์ด ๊ฐ์๋ฅผ ํ์ํ๊ธฐ ์ํด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
$('.popupZoneCnt .totalCnt').text($('.pagination5 > a').length);
ํ์ด์ง๋ค์ด์
์ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํด setInterval
ํจ์๋ฅผ ํ์ฉํฉ๋๋ค. ์ด ํจ์๋ ํ์ด์ง๋ค์ด์
์ ์ง์์ ์ผ๋ก ์ฒดํฌํ๊ณ , 6๊ฐ ์ด์์ ํ์ด์ง๊ฐ ํ์ฑํ๋์์ ๋ ๋ค์ ํ์ด์ง์ ํ์ด์ง๋ค์ด์
์ ๋ณด์ด๊ฒ ํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด์ ํ์ด์ง์ ํ์ด์ง๋ค์ด์
์ ๋ณด์ด๊ฒ ํฉ๋๋ค.
setInterval(function() {
checkActive(6);
}, 200);
function checkActive(e) {
var p2end = $('.swiper-pagination-switch').length;
$('.swiper-pagination-switch').slice(0, e).addClass('vPage1');
$('.swiper-pagination-switch').slice(e, p2end).addClass('vPage2');
if (parseInt($('.swiper-active-switch .popNo').text()) > e) {
$('.vPage2').show();
$('.vPage1').hide();
} else {
$('.vPage2').hide();
$('.vPage1').show();
}
}
๊ฒฐ๋ก
์ด๋ ๊ฒํ์ฌ idangerous.swiper.js ํ๋ฌ๊ทธ์ธ์ ํ์ด์ง๋ค์ด์ ์คํ์ผ์ ํ ์คํธ ๋ฌธ์ฅ์ผ๋ก ๋ณ๊ฒฝํ๊ณ , ํ์ด์ง ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์กฐ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์์ต๋๋ค. ์ด๋ฌํ ๊ผผ์๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ฌ๊ทธ์ธ์ ์ฝ์ด๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ํ๋ ์คํ์ผ์ ์ ์ฉํ ์ ์์ผ๋ฉฐ, ์ต
์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ๋์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์์ธ ์ค๋ช
์์์ ์ค๋ช ํ ์ฝ๋์ ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ์ค๋ช ์ ๋๋ค.
์๋ก
- ๋ชจ๋ฐ์ผ ์น ๊ฐ๋ฐ์์ ์ฌ๋ผ์ด๋ ๊ธฐ๋ฅ์ ์ค์์ฑ.
- idangerous.swiper.js ํ๋ฌ๊ทธ์ธ ์๊ฐ ๋ฐ ํน์ง.
ํ ์คํธ ๋ฌธ์ฅ ํ์ด์ง ์ฒ๋ฆฌ
- ํ๋ฌ๊ทธ์ธ์์ ์ ๊ณตํ๋ ํ์ด์ง๋ค์ด์ ์ ํ๊ณ.
- ํ ์คํธ ๋ฌธ์ฅ์ผ๋ก ํ์ด์ง๋ค์ด์ ์ ๊ตฌํํ๊ธฐ ์ํ ๊ผผ์ ์ฌ์ฉ.
์ฝ๋ ์ค๋ช
- ๊ฐ ์ฝ๋ ๋ผ์ธ์ ์ญํ ๊ณผ ์๋ ๋ฐฉ์์ ๋ํ ์์ธ ์ค๋ช .
๊ฒฐ๋ก
- idangerous.swiper.js ํ๋ฌ๊ทธ์ธ์ ํ์ฉํ์ฌ ํ ์คํธ ๋ฌธ์ฅ ํํ์ ํ์ด์ง๋ค์ด์ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ.
- ํ๋ฌ๊ทธ์ธ ์ฝ์ด ๋ณ๊ฒฝ์ ํผํ๊ณ , ์ต์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ ์๋ ์ฅ์ .
ํฌ์คํธ ์์ฝ
์ด ๋ธ๋ก๊ทธ ํฌ์คํ ์์๋ idangerous.swiper.js ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ฐ์ผ ์น ํ์ด์ง์์ ํ ์คํธ ๋ฌธ์ฅ ํํ์ ํ์ด์ง๋ค์ด์ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ํ์ต๋๋ค. ํ์ด์ง๋ค์ด์ ์ ํ ์คํธ ๋ฌธ์ฅ์ผ๋ก ํํํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ๊ผผ์๋ฅผ ์ฌ์ฉํ์๊ณ , ํ๋ฌ๊ทธ์ธ ์ฝ์ด๋ฅผ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์ํ๋ ์คํ์ผ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ฐ์ผ ์น ํ์ด์ง์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
'Lect & Tip > javascript, jQuery' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ผํ ์คํ ๋ค์ค์ ์ฒด JS ์์ ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ ๋ง๋ค๊ธฐ (0) | 2023.11.10 |
---|---|
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ธ๋ฉ: ํ์ฉ๊ณผ ์ฃผ์์ (0) | 2023.11.07 |
jquery .sort() ํจ์๋ฅผ ํ์ฉํ ์์ ์ด๋๊ณผ ์ ๋ ฌ (0) | 2023.09.01 |
jQuery ๋์ click ์ด๋ฒคํธ ์ฒ๋ฆฌํ๊ธฐ (0) | 2023.08.23 |
jQuery๋ฅผ ์ด์ฉํ์ฌ ์์์ ์ด๋ฆ์ผ๋ก ํ์ฌ ์์์ ํ์ ์์๋ด๊ธฐ (0) | 2023.08.15 |
๋๊ธ