у меня в swiper работает так - добавьте в самом конце страницы
const videos = document.querySelectorAll('video');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
const video = entry.target;
if (entry.isIntersecting) {
video.play();
} else {
video.pause();
}
});
}, {rootMargin: "-50px 0px", threshold: 0.7 }); // threshold сколько процентов должно быть видно
videos.forEach(video => {
observer.observe(video);
});
если видно менее 70% любого видео оно останавливается, не важно в слайдере или при прокрутке страницы.
Решение универсальное.
Можете просмотреть в живую как реализован swiper на сайте
Нью-Сил