<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.css" />
<script src="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.js"></script>
<div class="swiper mySwiper">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
</div>
</div>
<div class="swiper mySwiper swiper-h">
<div class="swiper-wrapper">
<div class="swiper-slide">Horizontal Slide 1</div>
<div class="swiper-slide">
<div class="swiper mySwiper2 swiper-v">
<div class="swiper-wrapper">
<div class="swiper-slide">Vertical Slide 1</div>
<div class="swiper-slide">Vertical Slide 2</div>
<div class="swiper-slide">Vertical Slide 3</div>
<div class="swiper-slide">Vertical Slide 4</div>
<div class="swiper-slide">Vertical Slide 5</div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
<div class="swiper-slide">Horizontal Slide 3</div>
<div class="swiper-slide">Horizontal Slide 4</div>
</div>
<div class="swiper-pagination"></div>
</div>
<style>
html,body {
position: relative;
height: 100%;
}
body {
background: #eee;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color: #000;
margin: 0;
padding: 0;
}
.swiper {
width: 100%;
height: 100%;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
<script>
let renBullet = ['no1','no2','no3'];
let swiper = new Swiper(".mySwiper", {
direction: "vertical", // 슬라이드 방향
slidesPerView: 3, // 한 화면에 보일 슬라이드 수
slidesPerView: "auto", // 한 화면에 보일 슬라이드를 자동으로 계산
spaceBetween: 30, // 슬라이드 사이 간격
centeredSlides: true, // 슬라이드를 가운데 두도록, slidesPerView: 'auto' 와 같이 쓸때 슬라이드 넓이에 따라 자동으로 보이며 센터 정렬
slidesPerGroup: 3, // 다중으로 설정된 슬라이드를 그룹으로 묶어서 슬라이딩
loopFillGroupWithBlank: true, // 슬라이드 수가 모자란 그룹을 빈 슬라이드로 채움
loop: true, // 무한반복
effect: "fade", // 슬라이드 전환 이펙트
freeMode : false, // 슬라이드시 위치 고정여부
a11y : false, // 웹 접근성
autoHeight : true, // 자동 높이 설정
autoplay: { // 자동 실행
delay: 2500, // 슬라이드 넘기는 시간 설정
disableOnInteraction: false, // false로 설정하면 스와이프 후 자동 재생이 비활성화 되지 않음
},
navigation: { // 화살표 버튼
nextEl: ".swiper-button-next", // 다음 버튼
prevEl: ".swiper-button-prev", // 이전 버튼
},
pagination: { // 페이지네이션 사용
el: ".swiper-pagination", // 불릿 클래스 명
dynamicBullets: true, // 다이나믹 불릿 사용
type: "progressbar", // 프로그레스바 사용
type: "fraction", // fraction 1/9 표시
renderBullet: function (index, className) { // 커스텀 불릿 만들기
return '<div class="' + className + '"><span>' + (bullet[index]) + '</span></div>';
}
},
scrollbar: { // 스크롤바
el: ".swiper-scrollbar",
hide: true,
},
breakpoints: { // 반응형
// 1000px 보다 클 경우
1000: {
slidesPerView: 2,
spaceBetween: 20
}
}
});
//Nested
var swiper = new Swiper(".swiper-h", {
spaceBetween: 50,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
});
var swiper2 = new Swiper(".swiper-v", {
direction: "vertical",
spaceBetween: 50,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
});
</script>