Как сделать так, чтобы счетчик слайдов Swiper работал совместно с Fancybox?

Почему в fancybox swiper текущий слайд открывается как третий слайд?
  • 1 декабря 2023 г. 10:50
Ответы на вопрос 1
Вероятно, проблема связана с тем, что счетчик слайдов в Swiper начинается с 0, а в Fancybox - с 1. Индексация слайдов начинается с разных значений, поэтому при переходе между слайдами возникают расхождения.

Самое простое решение - изменить значение индекса текущего слайда при открытии Fancybox. Например, вы можете подписаться на событие `beforeShow` и внутри обработчика обновить индекс текущего слайда:

```javascript
$(document).ready(function() {
   $(".fancybox").fancybox({
      beforeShow: function() {
         this.index = $('.swiper-wrapper .swiper-slide').index();
      }
   });
});
```

Пожалуйста, замените `'.swiper-wrapper .swiper-slide'` на правильный селектор вашего слайдера.

Также стоит учесть, что изначально индексация в Swiper идет не только с 0, но и в соответствии со слайдом, который разработчик устанавливает как стартовый (свойство `initialSlide`).

Проверьте, действительно ли дефолтным является первый слайд, если нет – это может сыграть роль. Измените его на 0, чтобы исключить проблему:

```javascript
var swiper = new Swiper('.swiper-container', {
   initialSlide: 0,
   // другие параметры...
});
```

Проверьте эти детали, возможно, они помогут вам исправить проблему.
Похожие вопросы