Найти в Дзене

Swiper.js: параметр "centeredSlides" - баг или фича?

Сегодня я хочу рассказать о том, как едва не запутался в, казалось бы, простой задаче от заказчика — и как в итоге нашёл решение благодаря грамотному запросу к искусственному интеллекту. Задача пришла ко мне в рамках волонтёрского проекта (о таком формате работы я уже рассказывал в своём Telegram‑канале — буду рад, если вы заглянете и подпишетесь!). На странице располагались три слайдера, управляемые общей библиотекой. В одном из них обнаружилась проблема: нарушилась сортировка элементов. При этом два других слайдера работали корректно. Речь пойдёт о работе с библиотекой Swiper.js — готовым решением для создания слайдеров на чистом JavaScript. Подключить её можно двумя способами: Мне достался второй вариант. Помимо этих файлов, требовался ещё и файл для настроек. Все файлы были встроены в кастомную тему на CMS WordPress. В файле main.js находились настройки управления слайдером. Тема была создана до меня — я лишь приступил к доработке существующего сайта. Анализ верстки через панель ра
Оглавление

Сегодня я хочу рассказать о том, как едва не запутался в, казалось бы, простой задаче от заказчика — и как в итоге нашёл решение благодаря грамотному запросу к искусственному интеллекту.

В красном квадрате - формулировка задачи от Заказчика
В красном квадрате - формулировка задачи от Заказчика

Задача пришла ко мне в рамках волонтёрского проекта (о таком формате работы я уже рассказывал в своём Telegram‑канале — буду рад, если вы заглянете и подпишетесь!).

На странице располагались три слайдера, управляемые общей библиотекой. В одном из них обнаружилась проблема: нарушилась сортировка элементов. При этом два других слайдера работали корректно.

Первая запись не отображается в слайдере. Реально на сайте занесено 3 новости
Первая запись не отображается в слайдере. Реально на сайте занесено 3 новости

Речь пойдёт о работе с библиотекой Swiper.js — готовым решением для создания слайдеров на чистом JavaScript. Подключить её можно двумя способами:

  • через CDN;
  • скачав два файла (стили и JS‑код) и разместив их на сайте.

Мне достался второй вариант. Помимо этих файлов, требовался ещё и файл для настроек.

Все файлы были встроены в кастомную тему на CMS WordPress. В файле main.js находились настройки управления слайдером. Тема была создана до меня — я лишь приступил к доработке существующего сайта.

Файлы swiper-bundle.min.css и swiper-bundle.min.js - это и есть локальная библиотека слайдера. Конкретные настройки по каждому слайдеру я нашел в файле main.js
Файлы swiper-bundle.min.css и swiper-bundle.min.js - это и есть локальная библиотека слайдера. Конкретные настройки по каждому слайдеру я нашел в файле main.js

Ложный путь

Анализ верстки через панель разработчика в браузере показал, что при первой загрузке слайдера значение атрибута "transform: translate3d(-360px, 0, 0);" отличается от значений во время листания (transform: translate3d(0px, 0, 0);)

значение атрибута transform: translate3d(-360px, 0, 0) при загрузке страницы
значение атрибута transform: translate3d(-360px, 0, 0) при загрузке страницы
При изменении значений атрибута на transform: translate3d(0px, 0, 0) получается нужный результат, но не работает функция листания
При изменении значений атрибута на transform: translate3d(0px, 0, 0) получается нужный результат, но не работает функция листания

Потом я обратил внимание на работу других слайдеров на этой странице и предположил, что дело в недостаточном количестве записей. В слайдере было три элемента, но отображались только два. Однако добавление новых записей не исправило ситуацию — слайдер заполнился, но не было нужной сортировки.

Затем я решил, что проблема может быть связана с настройками темы или самой CMS WordPress. Я погрузился в изучение параметров, даже попытался внести изменения в PHP‑код темы, но всё было тщетно. Оказалось, что WordPress просто сортирует новости по дате — и это не имело отношения к нашей проблеме.

Правильный вектор

После этого я обратился к обучающим видео от IT‑доктора и «Фрилансера по жизни». Из них я узнал, что у Swiper.js существует множество параметров настройки.

в YouTube обратился к обучающим видео от IT‑доктора и «Фрилансера по жизни»
в YouTube обратился к обучающим видео от IT‑доктора и «Фрилансера по жизни»

Когда все очевидные пути были исчерпаны, я решился на последний шаг — сформулировал детальный запрос к ИИ. И вот тут меня ждал прорыв: в ответе я обратил внимание на параметр centeredSlides.

Правильно подобраные слова в запросе помогли найти причину с помощью ИИ
Правильно подобраные слова в запросе помогли найти причину с помощью ИИ

Ура! Проблема была найдена, а задача — успешно решена.

Записал весь процесс на видео, но еще не смонтировал ролик. Напишите в комментариях нужно ли видео, на Ваш взгляд? И поделитесь, пожалуйста, как Вы ищете неисправность в подобных случаях, очень буду благодарен!!!