본문 바로가기
Opensource

스와이퍼 슬라이더 플러그인 swifer swiper js

by 영감은어디에 2023. 1. 16.

 

https://swiperjs.com/

 

Swiper - The Most Modern Mobile Touch Slider

Swiper is the most modern free mobile touch slider with hardware accelerated transitions and amazing native behavior.

swiperjs.com

 

 

head

<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"
/>

<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>

커스텀은 body 닫기 직전 

<script src="js/custom.js"></script>

html

<div class="swiper">

    <div class="swiper-wrapper">
        <div class="swiper-slide">
            <a href="#">
                <div class="text-wrap">
                    <h2>hhh</h2>
                    <p>ppp</p>
                </div>
                <img src="img/img-01.jpg" alt="">
            </a>
        </div>
        <div class="swiper-slide">
            <a href="#">
                <div class="text-wrap">
                    <h2>hhh</h2>
                    <p>ppp</p>
                </div>
                <img src="img/img-02.jpg" alt="">
            </a>
        </div>  
    </div>
    
    <div class="swiper-pagination"></div>
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
</div>

custom.js

const swiper = new Swiper('.swiper', {
  slidesPerView: 1,
  spaceBetween: 10,
  pagination: {
    el: '.swiper-pagination',
  },
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
})

active 효과 예시 

.text-wrap {position: absolute;top:50%;left:0;right:0;width: 600px;opacity: 0;margin:auto;text-align: center;transition: 0.5s; } 
.swiper-slide-active .text-wrap {top:44%;opacity: 1;transition: 0.5s; }

 


 

 


자주쓰는 메서드

이전 다음 버튼 커스텀 제작했을 경우  

swiper.slideNext(speed, runCallbacks);


반응형일 경우 

const swiper = new Swiper('.swiper', {
  // Default parameters
  slidesPerView: 1,
  spaceBetween: 10,
  // Responsive breakpoints
  breakpoints: {
    // when window width is >= 320px
    320: {
      slidesPerView: 2,
      spaceBetween: 20
    },
    // when window width is >= 480px
    480: {
      slidesPerView: 3,
      spaceBetween: 30
    },
    // when window width is >= 640px
    640: {
      slidesPerView: 4,
      spaceBetween: 40
    }
  }
})