Почему слайд паузит при клике на изображение влево и вправо в мобильном режиме на слайдере Slick? Как это исправить?

Вопрос или проблема

В слайдере Slick, когда мы нажимаем на изображение слева и справа на мобильном устройстве, слайд приостанавливается. Почему? Как это исправить?

$(‘.people-slider’).slick({
centerMode: true,
centerPadding: ‘0’,
slidesToShow: 4,
slidesToScroll: 1,
arrow:false,
pauseOnHover: false,
infinite: true,
autoplay: true,
focusOnSelect: true,
touchMove: true,
variableWidth: true,
autoplaySpeed: 3000,
speed: 500, // Скорость перехода в миллисекундах
cssEase: ‘ease’,
swipe: true, // Включает сенсорное пролистывание
draggable: true, // Включает перетаскивание мышью для настольной версии
swipeToSlide: true, // Позволяет слайдам двигаться плавно
touchThreshold: 10,
pauseOnFocus: false,// Настраивает чувствительность пролистывания// CSS функция плавности
responsive: [
{
breakpoint: 1182,
settings: {
slidesToShow: 3,
arrow:false,
variableWidth: false,
centerMode: false,
pauseOnHover: false,
focusOnSelect: true,
touchMove: true
}
},
{
breakpoint: 767,
settings: {
slidesToShow: 1,
variableWidth: false,
centerMode: true, // Включает центральный режим в мобильном представлении
centerPadding: ’20px’,
dots: true,
arrow:false,
autoplay:true,
autoplaySpeed: 1000,
pauseOnHover: false,
pauseOnFocus: false,
focusOnSelect: true,
touchMove: true
}
}
]

Нужен вариант решения, пожалуйста

Ответ или решение

В вашем случае проблемы с слайдером Slick могут возникать из-за настроек, связанных с паузой слайдера при взаимодействии с элементами управления. Давайте разберем основные причины, по которым слайдер может приостанавливать автоматическую прокрутку при нажатии на изображения в мобильной версии, а также предложим варианты решения этой проблемы.

Причины паузы слайдера

  1. Настройки pauseOnHover: Несмотря на то, что вы установили pauseOnHover: false, слайдер может по-прежнему реагировать на события касания или фокуса.

  2. События касания: На мобильных устройствах слайдер может воспринимать касание как фокус, что приводит к паузе.

  3. Конфликт touchMove и draggable: Эти настройки могут взаимодействовать между собой, вызывать изменения в поведении слайдера и его реагирования на касания.

Решения проблемы

Чтобы устранить проблему, можно попробовать следующие решения:

  1. Настройка autoplay: Убедитесь, что параметр autoplay установлен в true во всех ответственных настройках. Можно добавить атрибуты autoplay: true и autoplaySpeed: 1000 для всех разрешений.

  2. Изменение pauseOnFocus: Попробуйте установить pauseOnFocus: false для всех настроек (как для мобильных, так и для десктопных).

  3. Обработка событий: Чтобы избежать паузы, можно использовать функцию slickPause() или slickPlay(), чтобы вручную управлять остановкой или возобновлением автопрокрутки. Пример:

    $('.people-slider').on('mouseenter', function() {
       $(this).slick('slickPause');
    }).on('mouseleave', function() {
       $(this).slick('slickPlay');
    });
  4. Ограничение фокуса: Если проблема сохраняется, можно добавить дополнительные условия для обработки значений фокуса. Например, можно отключить обработку фокуса для мобильных устройств.

Пример окончательной конфигурации

Вот как мог бы выглядеть ваш окончательный код с учетом вышеперечисленных рекомендаций:

$('.people-slider').slick({
    centerMode: true,
    centerPadding: '20px',
    slidesToShow: 4,
    slidesToScroll: 1,
    arrows: false,
    infinite: true,
    autoplay: true,
    autoplaySpeed: 3000,
    speed: 500,
    cssEase: 'ease',
    swipe: true,
    draggable: true,
    swipeToSlide: true,
    pauseOnHover: false,
    pauseOnFocus: false,
    responsive: [
        {
            breakpoint: 1182,
            settings: {
                slidesToShow: 3,
                variableWidth: false,
                centerMode: false,
            }
        },
        {
            breakpoint: 767,
            settings: {
                slidesToShow: 1,
                variableWidth: false,
                centerMode: true,
                centerPadding: '20px',
                dots: true,
                autoplay: true,
                autoplaySpeed: 1000,
                pauseOnHover: false,
                pauseOnFocus: false
            }
        }
    ]
});

Заключение

Если после внесенных изменений слайдер все еще не работает должным образом, возможно, стоит проверить наличие конфликтов с другими библиотеками, которые могут оказывать влияние на обработку событий касания. Надеюсь, это поможет решить вашу проблему с слайдером Slick на мобильных устройствах.

Оцените материал
Добавить комментарий

Капча загружается...