暂停所有其他视频,无论页面上有多少视频

2023-12-13

因此,我在一个多页面项目上使用 video.js,该项目的页面每个页面上的视频数量不同。我想播放一个视频来暂停页面上播放的任何其他视频。我已经让它工作了,但我的代码只有在专门针对该页面制作时才有效,而不是单独处理每个页面。

HTML(示例)

<video id="video5" poster="poster.png" class="video-js vjs-16-9 vjs-big-play-centered"
  data-setup='{
    "controls": true,
    "autoplay": false,
    "preload": "none"
  }'>
  <source src="video.mp4" type='video/mp4'>
</video>

JS

var player1 = videojs('video1');
var player2 = videojs('video2');
var player3 = videojs('video3');
var player4 = videojs('video4');
var player5 = videojs('video5');
var player6 = videojs('video6');

var players = [player1, player2, player3, player4, player5, player6];

players.forEach(function(player) {
  player.on('play', function() {
    console.log('test');
    players.forEach(function(pl) {
      if (pl !== player) {
        pl.pause();
      }
    })
  })
});

因此,如果我有 6 个具有相同 id 的视频,则效果很好。但如果我有更多或更少,它就会破裂。有没有办法将 JS 格式化为按类而不是按 id 暂停任何内容?我试过了('.video-js').pause()但这会引发错误。


NM,找到答案了。将其保留,以便人们更容易找到。

var medias = Array.prototype.slice.apply(document.querySelectorAll('audio,video'));
medias.forEach(function(media) {
  media.addEventListener('play', function(event) {
    medias.forEach(function(media) {
      if(event.target != media) media.pause();
    });
  });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

暂停所有其他视频,无论页面上有多少视频 的相关文章

  • 如何在 Angular 中实现全局加载器

    我有一个全局加载器 其实现如下 核心模块 router events pipe filter x gt x instanceof NavigationStart subscribe gt loaderService show router
  • Nightmare.js 截图缓冲区长度 0

    我正在运行一个 night js 脚本 我试图在其中截取页面上多个元素的屏幕截图 The first元素被捕获得很好 但折叠下方的所有其他元素都以零长度捕获 我正在努力调试这个问题 任何帮助将非常感激 基本上这个脚本会遍历一个页面并选择al
  • JavaScript 语法是什么:{Ci, CC}? [复制]

    这个问题在这里已经有答案了 我正在做一些 FF 附加开发 我看到这样的语法 var Cc Ci require chrome 只是好奇这个语法是什么 以及它是否对 FF 开发或其他东西有特殊意义 这称为解构赋值 它的一个特点是JavaScr
  • 对 UPDATE 行的 POST 请求

    我是 javascript 的新手 所以我正在寻找一些帮助来创建一种拖放地理编码标记的方法 以允许交互式更改地址 我相信通过更新 LOCATION 列行可以实现这一点 第一步是 发送 POST 请求 对吧 好吧 所以我想问是否有人可以给我看
  • 从 mvc web api httpresponse 生成 csv 并通过 angularjs 接收以供下载

    我正在尝试从我的 Web api 生成一个 CSV 文件并通过 angularjs 接收该文件 我有一个如下所示的 API 控制器 HttpPost public HttpResponseMessage GenerateCSV FieldP
  • IE 中的 jQuery 鼠标闪烁

    当我在 IE 中执行 fadeIn fadeOut slideUp slideDown toggle 等 jQuery 函数时 鼠标总是闪烁 沙漏在光标旁边的视图中快速闪烁 我尝试了不同的方法来在动画进行时完全隐藏鼠标 但没有效果 而且在大
  • xhr 响应 for 循环不起作用

    我有 xhr 和 for 循环 它的工作非常罕见 for var i 0 i lt this files length i var xhr new XMLHttpRequest xhr upload onprogress function
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • 谷歌colab录音,如何实现更精确的方式告诉用户开始对着麦克风说话

    我正在尝试创建一个为机器学习项目录制音频的程序 我想使用 google colab 这样人们就不必在他们的系统上安装或运行任何东西 我在网上找到了这个录制和播放音频的示例 单元格 1 包含用于录制音频的 js 代码和用于将其转换为字节对象的
  • onDeviceReady 未在 PhoneGap hello world 应用程序中触发

    我正在尝试做一个简单的警报 测试 应用程序 但事件没有被触发 这是代码 function onLoad document addEventListener deviceready onDeviceReady false Cordova is
  • 如何在vuetify中设置固定工具栏?

    在 vuetify 中我使用工具栏
  • 以编程方式在 Highcharts 中使用缩放绘制矩形和线条

    我正在使用 Highcharts 进行一些编程绘图Highcharts Renderer http api highcharts com highcharts Renderer using path and rect 在下面的代码中 我手动
  • Web 文本编辑器中的 RTF 格式

    网络上是否有支持 RTF 格式文档输入的文本编辑器 我知道这对 webdev 来说有点奇怪 但我需要从数据库中读取 RTF 文档 并在基于 Web 的文本编辑器中对其进行编辑 然后将其存储回 RTF 中 在我在转换工具上投入太多资金之前 我
  • 使用 Javascript 从 HTML 表格输入单元格获取值

    我使用 Javascript 动态创建了一个 HTML 表 其中第一列由文本字段组成 第二列由输入字段组成 第三列由文本字段组成 效果很好 nrOfRows document getElementById myId value get nr
  • 电子节点集成不起作用,也普遍奇怪的电子行为[重复]

    这个问题在这里已经有答案了 我是 Electron 的新手 我一直在努力让它工作 我遇到了无法解释的行为 所以这里有一个总结 我无法让 Electron 和 html 之间的通信正常工作 即使我有nodeIntegration true 网
  • IE8 - 隐藏 div 内的表单,返回键不再起作用

    我有一个登录表单 位于带有 display none 的 div 中 然后我使用 jquery 淡入表单 但 Enter Return 键不再提交表单 如果我将显示更改为阻止 则效果很好 此问题仅存在于 IE 中 有任何想法吗 这是一个不起
  • 包含从代码隐藏 (ASP.NET C#) 到 ASPX 中的图像概述的图像列表 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 构造函数可以返回什么值来避免返回 this ?

    确切的情况是什么 returnJavascript 中的语句可以返回除this当使用构造函数调用时new关键词 Example function Foo return something var foo new Foo 如果我没记错的话 如
  • iPhone Mobile Safari:强制键盘打开

    这是一个 HTML CSS JS jQuery iPad 应用程序 我有一个按钮 可以向下滑动输入表单 我想让用户将注意力集中在输入上 然后启动键盘 这是我正在处理的 但不起作用 myFormField focus 这确实集中了输入 但无法
  • 在 Chrome 扩展中使用页面的 Angular JS

    我有一个 HTML 页面 其中有一些使用 Angular 配置的 DOM 现在我正在构建一个 chrome 扩展来修改文本框中的值 element value newValue不起作用 因为文本框是用 Angular 设计的 在阅读了一些资

随机推荐

  • 通过重叠两个数据框,为每个组/id 创建子图

    我有以下两个数据框 Load the required libraries import pandas as pd import matplotlib pyplot as plt Create dataset 1 data set 1 id
  • 使用 Python 处理 XLSX 中的图像

    我有一个 xlsx 有两张表 一张在 G1 O25 中有一些数据 我们称之为 数据 一张在 G1 O25 的单元格中插入了一些图像 我们称之为 图像 我的目标是使用 Python 通过图像过滤数据 我想要一个弹出窗口 显示单元格 G1 中的
  • 在对象中声明函数名,为什么? [复制]

    这个问题在这里已经有答案了 正在研究一些 js 代码性能并看到了这种方法 window sample foo function foo a b code goes here bar function bar a b code goes he
  • support-library-v4 的依赖问题

    我想在 Eclipse 中导入 2 个现有项目作为库 这两个库项目都依赖于support library v4并有一个 jar 文件 因此 当我导入它们时 系统会要求我修复依赖项 我收到此错误 Jar mismatch Fix your d
  • 在类似 C 的语言中,空格是否被视为标记?

    空格是否被视为 C 类语言中的一种标记 尤其对 C 感兴趣 K R 中的参考手册对此似乎有点含糊 不 空格不会被视为令牌 从http c0x coding guidelines com 6 4 html 标准文本草案 不幸的是实际标准需要花
  • Fortran语言中的多态性

    我有一个类似的代码 Module C sys use class A implicit none Private Type public C sys type private logical Ao set false type A Ao C
  • 如何从用户控件处理页面事件? (VB.net)

    我希望在用户控件生命周期的 预加载 阶段执行一些代码 但是预加载事件仅适用于 Page 对象 因此 我将以下方法添加到我的用户控件中 Private Sub Page PreLoad ByVal sender As Object ByVal
  • 角度平移即时方法不起作用

    我们有一个带有角度翻译的网站 它工作完美 我们有一个变量 我们想用某种语言键来固定它 假设网站的语言有 en 和 zh 作为选项 我希望无论语言选择如何 某个翻译都以 zh 返回 通过浏览API参考 我找到了一种名为 Instant 的方法
  • C++ 宏乘法是怎么回事

    define MAX 265 std cout lt lt 0 MAX lt lt std endl to my surprise the output is 9 rather than 0 这个 C 宏乘法有什么问题 EDIT 以下是完整
  • 使用 ElementTree 解析具有特殊字符的 XML

    我尝试使用 GET 服务进行解析ElementTree 其内容我不控制 包含非 UTF8 特殊字符 respXML response content decode utf 8 respRoot ET fromstring respXML 第
  • 用前导零填充数字列

    过去几个小时我一直在研究这个问题 我尝试过使用sprintf但它会将列更改为字符 我想要做的就是拥有一个固定宽度的数字列 并用零填充 如果您愿意使用自定义类 则可以编写一个打印方法来执行此操作 制作一个数据框 并为其指定一个自定义类 DF
  • 根据顶部图像的 Alpha/透明度混合两个 uiimage

    我正在尝试将背景与前景图像混合 其中前景图像是带有线条的透明图像 我正在尝试这样做 UIGraphicsBeginImageContext CGSizeMake 320 480 CGContextRef context UIGraphics
  • ORION:获取订阅列表

    我有兴趣访问活动订阅列表 但在阅读了所有有关 API 的 wiki 后 https forge fi ware org plugins mediawiki wiki fiware index php Publish Subscribe Br
  • 与empty、isset、!empty、!isset 混淆

    我有以下内容无法正常工作 GET category 也可以等于0 if empty GET category do something else do something else 我如何重写这个 if 语句来做 3 件不同的事情 做某事如
  • JSOUP - 如何使用 JSOUP 抓取“需要登录”页面

    我在抓取我想要抓取的确定的网站时遇到困难 问题是 成功登录该网站后 我无法访问需要有效登录的链接 例如 public Document executeLogin String user String password try Connect
  • PHP 联系表 - 发送后希望留在我的网站上

    我正在创建 PHP 联系表单我所遇到的只是我的 php 脚本的一个小问题 当电子邮件发送出去时 会调用一个新的 谢谢 页面 因此 带有联系表单的实际网站消失了 但我不希望这种情况发生 如果按下发送按钮我想要stay在我的网站上 显示一个空的
  • 如何对 pandas DataFrame 中的连续值进行分组

    我在 DataFrame 中有一个列 其中包含值 1 1 1 1 1 1 我怎样才能像这样将它们分组 1 1 1 1 1 1 您可以使用groupby按习惯Series df pd DataFrame a 1 1 1 1 1 1 print
  • 在 R 中按列中的行值和行中的列值对 data.frame 进行排序

    我有六只玄凤鹦鹉鸟 Beefy Scoundrel Baston Mattdamon Jesus and Hulkhogan 这些鸟拉屎很多 而且在很多不同的地方 我决定追踪过去两周内这种情况发生的地点和频率 并且我试图找出这些小恶魔今天在
  • 添加内联注释后 Bash 命令停止工作

    在子 shell 中生成的新值的分配在没有尾随注释的情况下也可以工作 newname echo newname sed s TD oldnewTD TD r ftd1 但变量newname如果添加尾随注释 则保持不变 newname ech
  • 暂停所有其他视频,无论页面上有多少视频

    因此 我在一个多页面项目上使用 video js 该项目的页面每个页面上的视频数量不同 我想播放一个视频来暂停页面上播放的任何其他视频 我已经让它工作了 但我的代码只有在专门针对该页面制作时才有效 而不是单独处理每个页面 HTML 示例