播放新視頻jquery時暫停其他正在播放的視頻

我在一個頁面上有許多視頻。當我單擊播放按鈕時,我使用jquery播放并暫停視頻。我使用jquery實現了這一點。現在,當我在下一個或上一個視頻上按play時,我需要暫停其他視頻。你能幫幫我嗎?

屏幕截圖在這里

? 最佳回答:

要執行所需的操作,可以創建一個函數,該函數遍歷所有video元素,然后調用pause()。然后可以在播放視頻時調用此函數。

此外,請注意,您可以將事件處理程序附加到媒體控制按鈕上,而不是在document.ready上循環視頻元素,這些按鈕在單擊時使用DOM遍歷來查找相關內容。這樣做的好處是簡化了代碼,并使其更易于維護。嘗試以下操作:

let pauseAllVideos = excludeVideo => $('video').not(excludeVideo).each((i, v) => {
  v.pause();
  $(v).closest('.video-player').find('.play-toggle')
    .removeClass('pause').addClass('play')
    .find('i').removeClass('fa-pause').addClass('fa-play');
});

$('.play-toggle').on('click', e => {
  let $button = $(e.currentTarget);
  let video = $button.closest('.video-player').find('video')[0];
  pauseAllVideos(video);
  $button.toggleClass('play pause').find('i').toggleClass('fa-play fa-pause');
  video[video.paused ? 'play' : 'pause']();
});

$('.sound-toggle').on('click', e => {
  let $button = $(e.currentTarget);
  let video = $button.closest('.video-player').find('video')[0];
  $button.toggleClass('play-sound pause-sound').find('i').toggleClass('fa-volume-high fa-volume-xmark');
  video.muted = !video.muted;
});

// This is just for this demo, so it doesn't deafen people :)
// it can be removed in your production version
$('video').each((i, v) => v.volume = 0.1);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet"  integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin="anonymous" referrerpolicy="no-referrer"
/>

<p>Video #1:</p>
<div class="video-player">
  <video id="video1" width="420">
    <source src="http://grochtdreis.de/fuer-jsfiddle/video/sintel_trailer-480.mp4" type="video/mp4">
    Your browser does not support HTML video.
  </video>
  <div class="controls">
    <button class="play-toggle playvideo">
      <span class="play"><i class="fa-solid fa-play"></i></span>
      <span class="pause" style="display: none;"><i class="fa-solid fa-pause"></i></span>
    </button>
    <button class="sound-toggle playsound">
      <span class="play-sound"><i class="fa-solid fa-volume-high"></i></span>
      <span class="pause-sound" style="display: none;"><i class="fa-solid fa-volume-xmark"></i></span>
    </button>
  </div>
</div>

<p>Video #2:</p>
<div class="video-player">
  <video id="video2" width="420">
    <source src="http://grochtdreis.de/fuer-jsfiddle/video/sintel_trailer-480.mp4" type="video/mp4">
    Your browser does not support HTML video.
  </video>
  <div class="controls">
    <button class="play-toggle playvideo">
      <span class="play"><i class="fa-solid fa-play"></i></span>
      <span class="pause" style="display: none;"><i class="fa-solid fa-pause"></i></span>
    </button>
    <button class="sound-toggle playsound">
      <span class="play-sound"><i class="fa-solid fa-volume-high"></i></span>
      <span class="pause-sound" style="display: none;"><i class="fa-solid fa-volume-xmark"></i></span>
    </button>
  </div>
</div>

主站蜘蛛池模板: 日韩精品一区二区三区影院| 日韩一区二区三区视频| 日本一区二区三区精品国产| 激情内射亚洲一区二区三区| 动漫精品第一区二区三区| 亚洲综合在线成人一区| 无码人妻久久一区二区三区蜜桃| 91精品福利一区二区三区野战| 久久久99精品一区二区| 日韩精品一区二区三区中文3d | 国产主播一区二区| 国产一区中文字幕| 亚洲AV噜噜一区二区三区 | 一区二区手机视频| 精品国产亚洲一区二区三区在线观看| 久久久久无码国产精品一区 | 日本在线一区二区| 免费一区二区无码东京热| 亚洲av区一区二区三| 日本香蕉一区二区三区| 国产免费av一区二区三区| 精品国产福利在线观看一区 | 亚洲一区二区三区久久| 91秒拍国产福利一区| 亚洲国产精品综合一区在线| 久久精品亚洲一区二区三区浴池| 午夜精品一区二区三区免费视频| 国产亚洲综合一区柠檬导航 | 日韩三级一区二区| 在线观看国产一区二区三区| 亚洲啪啪综合AV一区| 日韩视频一区二区三区| 亚洲一区二区影院| 国产韩国精品一区二区三区久久| 五月婷婷一区二区| 国产裸体舞一区二区三区| 视频一区视频二区制服丝袜 | 色婷婷香蕉在线一区二区| 无码人妻精品一区二区三区9厂 | 日韩动漫av在线播放一区| 一区二区三区免费视频播放器|