반응형
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 |