@virek97

Как сделать свою навигацию для Slick Slider?

Можно ли сделать для slick slider свою навигацию? Не изменить вид существующей, а именно сделать свою?
Есть 6 мини блоков с текстом и 6 слайдов. Нужно соответственно сделать, чтобы при клике на определенный блок открывался соответствующий слайдер. Возможна ли в принципе такая реализация?
  • Вопрос задан
  • 926 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Получаете элементы, которые будут выступать в роли кнопок для перехода к слайдам; вешаете на них обработчик клика, в котором получаете индекс кликнутого элемента и переключаете слайдер на соответствующий слайд:

const $buttons = $('здесь селектор ваших кнопок').click(function() {
  $slick.slick('slickGoTo', $buttons.index(this));
});

Чтобы выделить кнопку, соответствующую текущему слайду, добавляете слайдеру обработчик событий init и beforeChange, в котором убираете класс, отвечающий за стилизизацию у всех кнопок (так проще, чем искать ту, которой он назначен в данный момент), добавляете его той, чей индекс совпадает с индексом текущего/будущего (в зависимости от события) активного слайда:

$slick.on('init beforeChange', function(e, slick, currSlide, nextSlide) {
  $buttons
    .removeClass('active')
    .eq(e.type === 'init' ? slick.currentSlide : nextSlide)
    .addClass('active');
});

https://jsfiddle.net/t1647ync/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kirill-93
Возможна. При клике на элемент переключайте слайдер на нужный слайд. В документации это есть. Например метод slickGoTo.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы