Swiper smooth scroll to
by AJIEKCEU
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.2/js/swiper.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.2/css/swiper.min.css">
<div class="swiper-container swiper-container-v">
<div class="swiper-wrapper">
<div class="swiper-slide color-1">Vertical Slide 1</div>
<div class="swiper-slide color-2">
<div class="swiper-container swiper-container-h">
<div class="swiper-wrapper">
<div class="swiper-slide color-2">Horizontal Slide 2-1 </div>
<div class="swiper-slide color-6">Horizontal Slide 2-2</div>
<div class="swiper-slide color-5">Horizontal Slide 2-3</div>
<div class="swiper-slide color-3">Horizontal Slide 2-4</div>
<div class="swiper-slide color-2">Horizontal Slide 2-5 </div>
<div class="swiper-slide color-6">Horizontal Slide 2-6</div>
<div class="swiper-slide color-5">Horizontal Slide 2-7</div>
<div class="swiper-slide color-3">Horizontal Slide 2-8</div>
<div class="swiper-slide color-2">Horizontal Slide 2-9 </div>
<div class="swiper-slide color-6">Horizontal Slide 2-10</div>
<div class="swiper-slide color-5">Horizontal Slide 2-11</div>
<div class="swiper-slide color-3">Horizontal Slide 2-12</div>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-pagination swiper-pagination-h"></div>
</div>
</div>
<div class="swiper-slide color-3">Vertical Slide 3</div>
<div class="swiper-slide color-4">Vertical Slide 4</div>
</div>
<div class="swiper-pagination swiper-pagination-v"></div>
</div>
CSS
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-container {
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-container-v {
background: #eee;
}
.swiper-container-h
{
width:96%;
margin:0px auto;
}
.swiper-container-h .swiper-wrapper
{
height:80%;
margin-top:3%;
}
.swiper-pagination-bullet-active {
background-color: #fff;
}
.color-1 {
background-color: #f44336;
}
.color-2 {
background-color: #E91E63;
}
.color-3 {
background-color: #9C27B0;
}
.color-4 {
background-color: #673AB7;
}
.color-5 {
background-color: #3F51B5;
}
.color-6 {
background-color: #2196F3;
}
JavaScript
``
// https://idangero.us/swiper/demos/
//https://idangero.us/swiper/api/#pagination
var swiperV = new Swiper('.swiper-container-v', {
direction: 'vertical',
spaceBetween: 0,
hashNavigation: true,
mousewheel: true,
speed: 1200,
loop: true,
pagination: {
el: '.swiper-pagination-v',
clickable: true,
},
});
var swiperH = new Swiper('.swiper-container-h', {
direction: 'horizontal',
parallax: true,
loop: true,
speed: 2000,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
pagination: {
el: '.swiper-pagination-h',
//type: 'fraction',
clickable: true,
},
slidesPerView: 1,
//slidesPerColumn: 2,
spaceBetween: 0,
// Responsive breakpoints
breakpointsInverse: true,
breakpoints: {
// when window width is >= 320px
320: {
slidesPerView: 1,
spaceBetween: 10
},
// when window width is >= 480px
560: {
slidesPerView: 3,
spaceBetween: 20
},
// when window width is >= 640px
960: {
slidesPerView: 5,
spaceBetween: 20
}
},
keyboard: {
enabled: true,
onlyInViewport: false,
},
/*
mousewheel: {
enabled: false,
},
keyboard: {
enabled: true,
},
*/
});