Проблема с адаптивным слайдером Slick

#javascript #jquery #slick.js

#javascript #jquery #slick.js

Вопрос:

Привет, я пытаюсь создать точку останова для различных слайдов в Slick slider, но это не работает должным образом. Я попытался создать точку останова с помощью этого кода:

    jQuery('.collection-slider').slick({
       infinite: true,
       slidesToShow: $(window).width() > 600 ? 5 : 1,
       slidesToScroll: 1,
       infinite: false,
       focusOnSelect: true,
       centerPadding: '0px',
       dots: true,
      
       draggable: true,
       autoplay:true,
       autoplaySpeed:1500,
       prevArrow: '.thumbnails-slider__prev--recommendation',
       nextArrow: '.thumbnails-slider__next--recommendation'
   });
  

У меня на рабочем столе отображается 5 слайдов, а при ширине менее 600 пикселей отображается только один слайд. Мне нужна ваша помощь, чтобы перенести мои слайды на другие размеры экрана. Пожалуйста, укажите.

Ответ №1:

Не могли бы вы поделиться, почему не работает собственный slick Responsive Display :

 $('.responsive').slick({
  dots: true,
  infinite: false,
  speed: 300,
  slidesToShow: 4,
  slidesToScroll: 4,
  responsive: [
    {
      breakpoint: 1024,
      settings: {
        slidesToShow: 3,
        slidesToScroll: 3,
        infinite: true,
        dots: true
      }
    },
    {
      breakpoint: 600,
      settings: {
        slidesToShow: 2,
        slidesToScroll: 2
      }
    },
    {
      breakpoint: 480,
      settings: {
        slidesToShow: 1,
        slidesToScroll: 1
      }
    }
    // You can unslick at a given breakpoint now by adding:
    // settings: "unslick"
    // instead of a settings object
  ]
});
  

С вашим кодом немного проблем. Я полагаю, что определение ширины окна выполнено неправильно ( window.screen.width есть ли способ определить ширину окна, я полагаю). Кроме того, вы настраиваете slick slidesToShow один раз при инициализации виджета. Что, если пользователь изменит размер экрана? Или переориентирует свой телефон? Я полагаю, вам пришлось бы подключиться к определенному событию и повторно инициализировать виджет.

Я рекомендую попробовать использовать собственный механизм, возможно, отладить, что не так. Создать пользовательский RWD самостоятельно не так просто.