Ответы пользователя по тегу Slick
  • Как сделать бесконечный слайдер с variableWidth в Slick?

    profesor08
    @profesor08 Куратор тега JavaScript
    А как должно происходить? Три слайда влезли, четвертый не влез, все логично.
    Ответ написан
    Комментировать
  • Как сверстать такой слайдер?

    profesor08
    @profesor08 Куратор тега CSS
    Фоновая картинка и текст живую отдельно друг от другая. При свайпе текста, он трансформируется наклоняясь. На первой половине пути, у текущего слайда постепенно уменьшается border-radius до 0, а начиная с середины пути, у следующего он увеличивается, до нужного значения. Далее надо будет сместить слайды так, что не было видно дыр на краях сверху и снизу, причем смещать надо будет постепенно на длину изгиба. Потом придется играться с z-index таким образом, чтоб он переключался в нужный момент так, чтоб на переднем плане был тот слайд, у которого border-radius > 0. Собственно на css больше ничего не сделать. Решение довольно хреновое, результат тоже будет хреновый. Так как подобные слайды делаются не на свайпере и ему подобных, а на THREE.js и glsl, потому что только тогда результат будет именно таким, какой он на видео, такой-же плавный, такой-же четкий, без гличей и невтемных левых вылезающих пикселей.
    Ответ написан
    Комментировать
  • Как реализовать подобную анимацию в slick?

    profesor08
    @profesor08 Куратор тега JavaScript
    Посмотри в исходниках сайта как там все реализовано. Файл https://dom-rafinad.ru/js/common.js, ключевое слово для поиска ShadeSlider, копируешь себе код, html, стили и играешься как хочешь.
    Ответ написан
  • Как сделать так, чтобы функция отрабатывала при ресайзе в slick slider?

    profesor08
    @profesor08 Куратор тега JavaScript
    Посмотри как на самом деле работает слик. Он делает кучу дублей слайдов. И ему точно не известно что ты там вытворял и объявлял для внутренних элементов слайдов. У тебя два пути, перестать использовать слик и пользу другой альтернативы, которая не перестраивает dom, либо делай реинициализацию свои кастомных компонентов при каждом чихе слика. Для этого тебе в документацию slick events -> afterChange.
    Ответ написан
    Комментировать
  • Slick slider - Как при отправке формы сбросить слайдер до первого слайда?

    profesor08
    @profesor08 Куратор тега JavaScript
    Хоть сликом не пользуюсь несколько лет, но все еще помню, что там есть slickGoTo, хорошо документированная.
    .slick('slickGoTo', 0)
    Ответ написан
    2 комментария
  • Как исправить ошибку в slick слайдере?

    profesor08
    @profesor08 Куратор тега CSS
    Да никак. Либо не используй слик, либо не используй навигацию. Переключайся по стрелкам так-же как и переключаешься по клику на мелкую картинку.

    Вообще, этот случай это пример того, где слик неуместен. Имхо, но я бы не использовал там никаких слайдеров.
    Ответ написан
    2 комментария
  • Как отключить Slick slider?

    profesor08
    @profesor08 Куратор тега JavaScript
    Вот работает. Но надо понимать, что это работает не так как хочется. И если сработал unslick, то надо перезагружаться страницу, чтоб он снова начал работать при большем размере окна.

    $(".single-item").slick({
      dots: true,
      infinite: true,
      speed: 300,
      slidesToShow: 3,
      slidesToScroll: 1,
      responsive: [
        {
          breakpoint: 1024,
          settings: {
            slidesToShow: 3,
            slidesToScroll: 3,
            infinite: true,
            dots: true
          }
        },
        {
          breakpoint: 600,
          settings: {
            slidesToShow: 2,
            slidesToScroll: 2
          }
        },
        {
          breakpoint: 480,
          settings: "unslick"
        }
      ]
    });


    Но это выглядит неплохо, но реализация могла бы быть и лучше. Поэтому вместо брейкпоинтов в конфиге, лучше самостоятельно контролировать процесс.
    window.addEventListener("resize", function() {
      if (window.innerWidth <= 768) {
        $('.your-slider').slick('unslick');
        sliderIsLive = false;
      }
      else {
        if (sliderIsLive) {
          $('.your-slider').slick();
          sliderIsLive = true;
        }
      }
    });
    Ответ написан
    3 комментария
  • Правки слайдера Slick slider(вынести стрелки за слайдер)?

    profesor08
    @profesor08
    У этого слайдера есть методы next() и prev(). Вешай обработчик клика на любой элемент на странице, и твой слайдер будет прокручиваться. Вся эта элементарщина описана в документации.
    const $slider = $('.slider-nаv').slick({
      // ...
    });
    
    // $slider.neхt();
    // $slider.prеv();
    Ответ написан
    Комментировать
  • Как заново запустить slick слайдер после его уничтожения методом slick('unslick')?

    profesor08
    @profesor08 Куратор тега JavaScript
    Смотрел в консоли, что он делает с разметкой. Он её вычищает полностью.

    Ну вот и ваша проблема. После clientThanksCarousel.slick('unslick').empty(); у вас удаляется сам элемент #clientThanksCarousel со страницы, либо вы его как-то еще удаляете. Так как при следующем обращении у вас ошибка.
    Ответ написан