Для того чтобы останавливать видео на YouTube при переходе между слайдами в Swiper, вам нужно использовать YouTube IFrame Player API. Этот API позволяет управлять воспроизведением видео, включая возможность ставить его на паузу.
Вот шаги, которые вам нужно выполнить, чтобы это реализовать:
1. **Подключите API YouTube**
Для начала, убедитесь, что вы подключили скрипт YouTube IFrame Player API к вашему проекту:
```html
<script src="https://www.youtube.com/iframe_api"></script>
```
2. **Создайте объект плеера**
После того, как API загружен, создайте экземпляр плеера для каждого видео. Вам нужно будет определить функцию `onYouTubeIframeAPIReady`, в которой вы создадите экземпляры плееров.
```html
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<iframe id="player1" src="https://www.youtube.com/embed/VIDEO_ID_1?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
</div>
<div class="swiper-slide">
<iframe id="player2" src="https://www.youtube.com/embed/VIDEO_ID_2?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
</div>
<!-- Добавляйте новые слайды так же -->
</div>
</div>
<script>
var players = [];
function onYouTubeIframeAPIReady() {
players.push(new YT.Player('player1'));
players.push(new YT.Player('player2'));
// Добавьте сюда остальных игроков
}
</script>
```
3. **Слушайте событие `slideChange`**
Используя Swiper API, добавьте слушатель события `slideChange`, который будет вызываться при переключении слайдов. В обработчике события вы будете останавливать видео в текущем слайде:
```html
<script>
const swiper = new Swiper('.swiper-container', {
on: {
slideChange: function () {
// Остановите все видео при смене слайда
players.forEach(player => {
player.pauseVideo();
});
// (Опционально) Запустите видео в новом слайде
const currentIndex = this.activeIndex;
players[currentIndex].playVideo();
}
}
});
</script>
```
4. **Обратите внимание на индексы**
Убедитесь, что индексы в массиве `players` соответствуют индексам слайдов в Swiper. Например, если у вас 3 слайда, то `players[0]` соответствует первому слайду и так далее.
Теперь при переключении между слайдами видео будет ставиться на паузу, и, при желании, вы сможете запустить его снова в новом слайде. Не забудьте протестировать функциональность, чтобы убедиться, что все работает корректно.