From 51abd182a2c7da51494a6b62e9381055ab12338f Mon Sep 17 00:00:00 2001 From: Valentin Silytuin <valentinsilyutin@icloud.com> Date: Thu, 24 Apr 2025 23:32:07 +0400 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B5=20=D0=B2=D0=BE?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=BE=D0=B8=D0=B7=D0=B2=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=B8=D0=B4=D0=B5=D0=BE=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B1=D1=8B=D1=81=D1=82=D1=80=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BB=D0=B8=D1=81=D1=82=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/index.js b/index.js index 1f428f9..cb81385 100644 --- a/index.js +++ b/index.js @@ -23,14 +23,18 @@ const playVideo = (slide) => { if (youtube) { if (slide.YTPlayer) { - slide.YTPlayer.playVideo(); + if (slide.classList.contains('swiper-slide-active')) { + slide.YTPlayer.playVideo(); + } } else if (window.YT) { if (GalleryYTPlayer.state) { slide.YTPlayer = new YT.Player(youtube, { videoId: youtube.dataset.id, events: { onReady(event) { - event.target.playVideo(); + if (slide.classList.contains('swiper-slide-active')) { + event.target.playVideo(); + } }, }, }); @@ -47,12 +51,16 @@ const playVideo = (slide) => { } } else if (vk) { if (slide.VKPlayer) { - slide.VKPlayer.play(); + if (slide.classList.contains('swiper-slide-active')) { + slide.VKPlayer.play(); + } } else if (window.VK?.VideoPlayer) { if (GalleryVKPlayer.state) { slide.VKPlayer = VK.VideoPlayer(vk); slide.VKPlayer.on('inited', () => { - slide.VKPlayer.play(); + if (slide.classList.contains('swiper-slide-active')) { + slide.VKPlayer.play(); + } }); } else { GalleryVKPlayer.addListener(() => { @@ -71,13 +79,15 @@ const playVideo = (slide) => { if (window.GalleryRTPlayer) { if (window.GalleryRTPlayer.has(videoId)) { clearInterval(checkInterval); - rt.contentWindow.postMessage( - JSON.stringify({ - type: 'player:play', - data: {}, - }), - '*', - ); + if (slide.classList.contains('swiper-slide-active')) { + rt.contentWindow.postMessage( + JSON.stringify({ + type: 'player:play', + data: {}, + }), + '*', + ); + } } } else { clearInterval(checkInterval); @@ -338,11 +348,14 @@ const init = async (items = [], options = {}, index = 0) => { }); swiper.on('slideChange', function () { - if (this.slides[this.previousIndex].classList.contains('advdominion-lg__item_video')) { - pauseVideo(this.slides[this.previousIndex]); - } - if (this.slides[this.activeIndex].classList.contains('advdominion-lg__item_video')) { - playVideo(this.slides[this.activeIndex]); + for (const [index, slide] of Object.entries(this.slides)) { + if (slide.classList.contains('advdominion-lg__item_video')) { + if (Number(index) === this.activeIndex) { + playVideo(slide); + } else { + pauseVideo(slide); + } + } } });