반응형

 

Swiper js 를 사용 할 때 커스텀으로 페이지네이션을 만드는 예제를 만들어봤다.

 

슬라이드가 움직일때 slideChange 메서드에서 데이터를 받고, inde를 활용하여 클래스명을 추가해주거나 제거해준다.

 

그리고 페이징 1 ~ 3을 클릭하면 슬라이드를 움직여주기 위해서 이벤트를 추가해줬다. 

 

CSS로 페이징 li 태그를 꾸며주면 된다.

 

<div class="section">
    <div class="section-inner">
        <h1>타이틀</h1>
        <div class="section-contents">
            <ul>
                <li>페이징 1</li>
                <li>페이징 2</li>
                <li>페이징 3</li>
            </ul>
            <div class="contents-wrap">
                <div class="swiper">
                    <div class="swiper-wrapper">
                        <div class="swiper-slide">
                            <div class="img-box">
                                <img src="/img/brand01.png" alt="이미지1">
                            </div>
                        </div><div class="swiper-slide">
                            <div class="img-box">
                                <img src="/img/brand02.png" alt="이미지2">
                            </div>
                        </div><div class="swiper-slide">
                            <div class="img-box">
                                <img src="/img/brand03.png" alt="이미지3">
                            </div>
                        </div>
                    </div>

                </div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        const swiper = new Swiper('.swiper', {
            loop: true,
            on: {
                slideChange: function () {
                    const index_currentSlide      = this.realIndex;
                    const currentSlide            = this.slides[index_currentSlide]
                    const that = this;
                    document.querySelectorAll('.section-contents ul li').forEach((el, index) => {
                        index === that.realIndex ? el.classList.add('active') : el.classList.remove('active');
                    });
                },
            },
        });
        document.querySelectorAll('.section-contents ul li').forEach((el, index) => {
            el.addEventListener('click', () => {
                swiper.slideTo(index);
            });
        });
    </script>
</div>
반응형

'JAVASCRIPT' 카테고리의 다른 글

텍스트 커서 애니메이션  (0) 2019.03.22
javascript prototype 관련  (0) 2018.12.19
카페24 쇼핑몰 jquery 중복 방지하기  (2) 2018.12.13
네이버 스마트에디터 사용하기  (0) 2017.01.16
Jquery ajxa 사용법  (0) 2016.05.18

+ Recent posts