Подключить несколько элементов навигации в slick slider?
Использую slick-slider. Нужно подключить для навигации - точки и кнопки с названием товара. Как сделать что бы все работало одновременно?

$(document).ready(function () {
$('.searched__slider').slick({
arrows: true,
dots: true,
slidesToShow: 1,
slidesToScroll: 1,
infinite: false,
speed: 1000,
swipe: false,
touchMove: false,
appendDots: '.searched__box-dots',
dotsClass: 'searched__dots',
appendArrows: '.searched__arrow',
prevArrow: $('.searched-arrow--prev'),
nextArrow: $('.searched-arrow--next'),
})
})
Ответы (1 шт):
Автор решения: zhurof
→ Ссылка
Можно сверстать вторую навигацию отдельно и привязать её к слайдеру при помощи событий и методов slick-slider:
$('.slider-block__main').slick({
prevArrow: '<span class="slider-block__arrow slider-block__arrow--prev">〈</span>',
nextArrow: '<span class="slider-block__arrow slider-block__arrow--next">〉</span>',
dots: true,
dotsClass: 'slider-block__dots',
customPaging: function(){return ''}
})
//при прокрутке слайдера обозначаем новый активный элемент навигации
$('.slider-block__main').on('beforeChange', function(event, slick, currentSlide, nextSlide){
$(this).siblings('.slider-block__nav').children().removeClass('active').eq(nextSlide).addClass('active');
});
//при клике на элемент навигации прокручиваем слайдер в нужную позицию
$('.slider-block__nav li').click(function(){
var index = $(this).index();
$(this).closest('.slider-block').find('.slider-block__main').slick('slickGoTo',index);
})
*{
box-sizing: border-box;
}
body{
margin: 0;
font-family: sans-serif;
}
.slider-block__nav{
list-style: none;
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
.slider-block__nav>li{
padding: 1em;
text-align: center;
cursor: pointer;
border-bottom: 2px solid transparent;
flex: 1 1 auto;
}
.slider-block__nav>.active{
border-color: black;
background-color: #cda;
}
.slider-block__arrow{
display: inline-block;
font-size: 20px;
line-height: 1.5;
width: 1.5em;
text-align: center;
position: absolute;
z-index: 2;
top: calc(50% - .75em);
cursor: pointer;
}
.slider-block__arrow--prev{
left: 0;
}
.slider-block__arrow--next{
right: 0;
}
.slider-block__slide{
padding: 100px 15px;
text-align: center;
font-size: 40px;
font-weight: bold;
background-color: #acd;
border: 1px solid red;
}
.slider-block__dots{
list-style: none;
margin: 0;
padding: 0;
position: absolute;
bottom: 5px;
left: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
.slider-block__dots>li{
width: 10px;
height: 10px;
border-radius: 50%;
border: 2px solid;
margin: 5px;
}
.slider-block__dots>.slick-active{
background-color: black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
<link href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css" rel="stylesheet"/>
<div class="slider-block">
<ul class="slider-block__nav">
<li class="active">Slide 1</li>
<li>Slide 2</li>
<li>Slide 3</li>
</ul>
<div class="slider-block__main">
<div class="slider-block__slide">Slide 1</div>
<div class="slider-block__slide">Slide 2</div>
<div class="slider-block__slide">Slide 3</div>
</div>
</div>