129
rated 0 times
[
132]
[
3]
/ answers: 1 / hits: 41599
/ 7 Years ago, wed, november 29, 2017, 12:00:00
Swiper slider is not working properly with loop set to true and centeredSlides set to false.
When a thumbnail or a navigation arrow is clicked the main slider doesn't show the active thumbnail, i searched and didn't found any solution for this, i'll be grateful if someone knows how to solve it without having to remove none current options.
Here's the JSFiddle
var galleryTop = new Swiper('.gallery-top', {
slidesPerView: 1,
loop: true,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
var galleryThumbs = new Swiper('.gallery-thumbs', {
direction: 'vertical',
slidesPerView: 4,
slideToClickedSlide: true,
spaceBetween: 10,
loop: true,
});
galleryTop.controller.control = galleryThumbs;
galleryThumbs.controller.control = galleryTop;
body {
padding: 20px;
}
.gallery-thumbs {
float: left;
width: calc(16% - 20px);
height: 280px;
margin-right: 20px;
}
.gallery-thumbs .swiper-slide {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
cursor: pointer;
}
.gallery-thumbs .swiper-slide-active {
border: 1px solid grey;
}
.gallery-thumbs .swiper-slide:hover {
border: 1px solid grey;
}
.gallery-top {
float: left;
width: 84%;
height: 280px;
}
.gallery-top .swiper-slide {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
border: 1px solid grey;
}
<script src=https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/js/swiper.min.js></script>
<link href=https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/css/swiper.min.css rel=stylesheet/>
<div class=swiper-container gallery-thumbs>
<div class=swiper-wrapper>
<div class=swiper-slide>1</div>
<div class=swiper-slide>2</div>
<div class=swiper-slide>3</div>
<div class=swiper-slide>4</div>
<div class=swiper-slide>5</div>
<div class=swiper-slide>6</div>
</div>
</div>
<div class=swiper-container gallery-top>
<div class=swiper-wrapper>
<div class=swiper-slide>1</div>
<div class=swiper-slide>2</div>
<div class=swiper-slide>3</div>
<div class=swiper-slide>4</div>
<div class=swiper-slide>5</div>
<div class=swiper-slide>6</div>
</div>
<!-- Add Arrows -->
<div class=swiper-button-next></div>
<div class=swiper-button-prev></div>
</div>
More From » jquery