You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery实现播放新视频时自动暂停页面其他正在播放的视频

多视频互斥播放实现方案

核心实现逻辑

点击任意视频的播放按钮触发播放前,先遍历页面内所有其他视频元素,暂停所有处于播放状态的非当前视频,同步重置对应控制按钮的样式与图标显示,保证UI状态和视频实际播放状态一致,之后再执行当前视频的播放逻辑。

修改后完整JS代码

原有HTML结构、静音控制逻辑无需改动,仅需调整播放按钮的点击事件逻辑即可,代码如下:

// 封装公共方法:暂停指定视频+重置对应播放按钮状态
function resetVideoPlayState(videoEl) {
  const targetVideo = $(videoEl).get(0);
  // 视频已暂停则跳过处理
  if (targetVideo.paused) return;
  // 执行暂停操作
  targetVideo.pause();
  // 重置对应播放按钮的UI状态
  const $controlBar = $(videoEl).parent();
  const $playBtn = $controlBar.find('.play-toggle');
  $playBtn.addClass('playvideo');
  $playBtn.find('.play').show();
  $playBtn.find('.pause').hide();
}

// 播放/暂停控制逻辑
$('video').each(function(i, el) {
  var p = $(el).parent();
  $('.play-toggle', p).click(function(e) {
    var button = $(this);
    if (button.hasClass('playvideo')) {
      // 播放当前视频前,先重置所有其他视频的播放状态
      $('video').not(el).each(function(idx, otherVideo) {
        resetVideoPlayState(otherVideo);
      });
      // 执行当前视频播放逻辑
      button.removeClass('playvideo');
      $('.play', button).hide();
      $('.pause', button).show();
      el.play();
    } else {
      button.addClass('playvideo');
      $('.play', button).show();
      $('.pause', button).hide();
      el.pause();
    }
  });
});

// 静音/取消静音控制逻辑(保持原有逻辑不变)
$('video').each(function(i, el) {
  var p = $(el).parent();
  $('.sound-toggle', p).click(function(e) {
    var button = $(this);
    if (button.hasClass('playsound')) {
      button.removeClass('playsound');
      $('.play-sound', button).hide();
      $('.pause-sound', button).show();
      el.muted = true;
    } else {
      button.addClass('playsound');
      $('.play-sound', button).show();
      $('.pause-sound', button).hide();
      el.muted = false;
    }
  });
});

逻辑说明

  • 通过$('video').not(el)筛选排除当前点击对应的目标视频,不会误暂停需要播放的当前视频
  • 封装的公共方法会先判断视频是否处于播放状态,已暂停的视频不会重复执行DOM修改,减少不必要的性能消耗
  • 完全兼容原有代码逻辑,不需要修改现有HTML结构,静音切换、单视频暂停播放的原有功能不受影响

内容的提问来源于stack exchange,提问作者Durus Turkiye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:15:46