๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/javascript, jQuery

Jquery ์Šค์™€์ดํผ ์Šฌ๋ผ์ด๋” ํ”Œ๋Ÿฌ๊ทธ์ธ idangerous.swiper.js pagination ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ

by ๋‚ฏ์„ ๊ณต๊ฐ„2 2021. 1. 11.

๋ชฉ์ฐจ

    โœˆ Jquery ์Šค์™€์ดํผ ์Šฌ๋ผ์ด๋” ํ”Œ๋Ÿฌ๊ทธ์ธ idangerous.swiper.js pagination ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ

    idangerous.swiper.js๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋ฐ”์ผ์—์„œ ์Šฌ๋ผ์ด๋“œ๋ฅผ ํ„ฐ์น˜ํ•ด์„œ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

    ๊ทธ๋Ÿฐ๋ฐ, idangerous.swiper.js์—์„œ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํ…œํ”Œ๋ฆฟ ์ค‘์—์„œ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ๋ฅผ ํ…์ŠคํŠธ ๋ฌธ์žฅ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค.

    ์•ฝ๊ฐ„์˜ ๊ผผ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜์— ์ˆซ์ž๋‚˜ ๋ถˆ๋ฆฟ ๋Œ€์‹  ํ…์ŠคํŠธ ๋ฌธ์žฅ์„ ๋ณด์—ฌ์ฃผ๋„๋ก ๋ณ€ํ˜•ํ–ˆ๋‹ค.

    ๊ทธ๋Ÿฐ๋ฐ, ๋Œ€๋žต 6~8๊ฐœ ์ •๋„๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด ํ˜•ํƒœ์—์„œ ๋””์ž์ด๋„ˆ๊ฐ€, ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๋‹ค์‹œ ํŽ˜์ด์ง•์ฒ˜๋ฆฌ๋ฅผ ํ•ด์„œ 10๊ฐœ ์ •๋„ ๋“ฑ๋ก๋˜์—ˆ์„ ๋•Œ ์ดˆ๋ฐ˜ 6๊ฐœ๋งŒ ๋ณด์ด๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋‹ค์Œ ํŽ˜์ด์ง€์—์„œ ๋ณด์ด๊ฒŒ ์ฒ˜๋ฆฌํ•ด ๋‹ฌ๋ผ๋Š” ์ฃผ๋ฌธ์„ ๋ฐ›์•˜๋‹ค.

    ๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋Ÿฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๋ฉด ํ”Œ๋Ÿฌ๊ทธ์ธ ์ž์ฒด์˜ ์ฝ”์–ด๋ฅผ ๊ฑด๋“œ๋ ค์•ผ ํ•˜๋Š”๋ฐ...์ด๋Ÿฐ ๋ฅ˜๋Š” ์ฝ”์–ด๋ฅผ ๊ฑด๋“œ๋ ค ๋ฒ„๋ฆฌ๋ฉด, ์ตœ์‹ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๊ฐ€ ํž˜๋“ค์–ด ์ง„๋‹ค.

    ๊ทธ๋ž˜์„œ ์—ญ์‹œ ๊ผผ์ˆ˜๋ฅผ ์จ์„œ, setInterval๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๊ณ„์† ์ฒดํฌํ•ด์„œ swiper-pagination-switch์˜ popNo๋ฅผ ๋”ฐ์ง„ ๋’ค์— (๋งŒ์•ฝ ์ด๊ฑธ ๋งŒ๋“ค์–ด ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด, index()๋กœ ๊ตฌํ•ด๋„ ๋œ๋‹ค.) 6๊ฐœ(ํ˜น์€ 7๊ฐœ๋“ …)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•ž์ชฝ์—๋Š” vpage1์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ฃผ๊ณ , ๋’ค์ชฝ์—๋Š” vPage2๋ฅผ ๋ถ€์—ฌํ•ด ์ฃผ์—ˆ๋‹ค.

     

    ์ข€ ๋” ์„ธ๋ฐ€ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด, vPageN ๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ตณ์ด ๊ทธ๋Ÿด ํ•„์š” ์—†๋Š” ๋ฏธ์…˜์ด๋ฏ€๋กœ ์ผ๋‹จ 2๊ฐœ ํŽ˜์ด์ง€๋กœ๋งŒ ๋™์ž‘ํ•˜๋„๋ก ๊ตฌ์„ฑํ–ˆ๋‹ค. (๊ฐ„๋‹จํ•˜๋‹ˆ๊นŒ)

    ์ด ๋•Œ ์‚ฌ์šฉํ•œ jqueryํ•จ์ˆ˜๋Š” slice()ํ•จ์ˆ˜๋‹ค.

    ์ฒซ์ž์‹๋ถ€ํ„ฐ n๋ฒˆ์งธ ์ž์‹๊นŒ์ง€ slice()๋กœ ์„ ํƒํ•ด์„œ ์›ํ•˜๋Š” ํด๋ž˜์Šค๋ช…์„ (vPage1)์„ ๋ถ€์—ฌํ–ˆ๋‹ค.

    ๋‚˜๋จธ์ง€ ์ž์‹๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ช…์„ ๋ถ€์—ฌํ•ด์„œ, ์กฐ๊ฑด ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ ํ•ด๋‹น ํด๋ž˜์Šค๋“ค์„ show()ํ•˜๊ฑฐ๋‚˜ hide()ํ•ด์„œ ์ œ์–ดํ•จ์œผ๋กœ์จ 2๊ฐœ ํŽ˜์ด์ง€์™€ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๊ฑฐ๋‘๊ฒŒ ํ–ˆ๋‹ค.

    Source

    <!--main popUpZone Pagination And Text Show -->
    
    var tmpNo=0;
    
    $('.popupZone .swiper-slide a').each(function(index, element) {
    
    var tmpNo2 = tmpNo +1;
    
       
    
    <!--main popUpZone Pagination Current nO Show -->
    
    var tmpTxt = '<span class="popNo mobileHide">'+tmpNo2+'</span><span class="popTxt">'+$(this).attr('title')+"</span>";
    
    <!--main popUpZone Pagination Current nO Show -->
    
    $('.pagination5 > a:eq('+tmpNo+')').html(tmpTxt);
    
    $('.pagination5 > a').attr('href','#link');
    
    tmpNo++;
    
    });
    
    <!--main popUpZone Pagination And Text Show -->
    
       
    
    <!--main popUpZone Pagination Count Total Show -->
    
    $('.popupZoneCnt .totalCnt').text($('.pagination5 > a').length);
    
    <!--main popUpZone Pagination Count Total Show -->
    
       
    
    setInterval(function() {
    
    checkActive(6);
    
    }, 200);
    
    });
    
       
    
    
    
    //n๊ฐœ ์ด์ƒ์ผ ๋•Œ paging ์ฒ˜๋ฆฌ
    
    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();
    
    }
    
    }
    
    </script>

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€