Ребят, есть вот такой вертикальный слайдер сделанный на Slick.
Проблема в том, что высота нашей пагинации ограничена. Например у нас сейчас есть пять слайдов, в пагинацию помещается только 4. То-есть если мы пролистываем до пятого слайда, в пагинации это не отображается, она остается на месте. Можно как-то сделать, чтобы когда мы переключали слайдер на пятый слайд, пагинация тоже делал слайд и переключалась.
https://codepen.io/brezze/pen/xpYLKZ
<div class="slider">
<div class="slider-wrap">
<div class="slider__slide">
<div class="slider__item"></div>
</div>
<div class="slider__slide">
<div class="slider__item"></div>
</div>
<div class="slider__slide">
<div class="slider__item"></div>
</div>
<div class="slider__slide">
<div class="slider__item"></div>
</div>
<div class="slider__slide">
<div class="slider__item"></div>
</div>
</div>
<div class="slider__nav">
<div class="slider__prev">Up</div>
<div class="slider__next">Down</div>
</div>
</div>
$('.slider-wrap').slick({
dots: true,
arrows: false,
vertical: true,
verticalSwiping: true,
customPaging: function(slider, i) {
var thumb = $(slider.$slides[i]).data();
return '<a>'+(i+1)+'</a>';
},
});
вариант ...
$(function() {
$(".slider__item").each(function(i) {
$("<div><h3>" + ++i + "</h3></div>").appendTo(".slider-nav");
});
$(".slider-wrap").slick({
slidesToShow: 1,
asNavFor: ".slider-nav",
dots: false,
arrows: false,
vertical: true,
verticalSwiping: true
});
$(".slider-nav").slick({
vertical: true,
verticalSwiping: true,
slidesToShow: 4,
slidesToScroll: 1,
asNavFor: ".slider-wrap",
nextArrow: ".slider__next",
prevArrow: ".slider__prev",
focusOnSelect: true
});
});
.slider {
display: flex;
height: 200px;
}
.slider-wrap {
width: 30%;
box-sizing: border-box;
}
.slider__item {
color: #FFF;
background: #000;
min-height: 300px;
}
.nav {
width: 50px;
height: 200px;
position: relative;
box-sizing: border-box;
}
.nav .slider-nav {
margin-top: 48px;
}
.slider-nav.slick-vertical div.slick-slide {
width: 50px;
height: 50px;
line-height: 0px;
border: 1px solid #ccc;
display: block;
text-align: center;
cursor: pointer;
}
.slider-nav.slick-vertical .slick-current {
background: #000;
color: #FFF;
}
.slider__prev,
.slider__next {
width: 48px;
height: 45px;
border: 1px solid #ccc;
text-align: center;
font-weight: bold;
line-height: 50px;
position: absolute;
cursor: pointer;
}
.slider__prev {
top: 0;
}
.slider__next {
top: 255px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<div class="slider">
<div class="slider-wrap">
<div class="slider__slide">
<div class="slider__item">1</div>
</div>
<div class="slider__slide">
<div class="slider__item">2</div>
</div>
<div class="slider__slide">
<div class="slider__item">3</div>
</div>
<div class="slider__slide">
<div class="slider__item">4</div>
</div>
<div class="slider__slide">
<div class="slider__item">5</div>
</div>
</div>
<div class="nav">
<div class="slider__prev">Up</div>
<div class="slider-nav"></div>
<div class="slider__next">Down</div>
</div>
</div>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости