javascript - 多个视频的播放/暂停功能

标签 javascript jquery angularjs video

HTML:

 <video width="840" id="video">
          <source src="{{box.video}}" type="video/mp4">
 </video>

JS:

video = document.querySelector("#video");
$this = $(this);
function playVideo() {
   video.play();
}
function stopVideo() {
   video.pause();
}
function pauseVideo() {
   video.pause();
}
function skip(value) {
   video.currentTime += value;
} 

它适用于一个视频,但我的页面上有很多视频。因此,当我点击另一个视频时,它每次都会获得第一个音频。

如何对多个视频使用这些功能?

最佳答案

这里的问题是,您在页面中的多个视频元素中使用相同的 idid 在页面中需要是唯一的,这就是为什么它总是停止/播放第一个视频,因为它是 DOM 处理的唯一视频。

最好的办法是附加 click 页面中所有视频的事件监听器,如下所示:

$("video").click(function() {
  if (this.paused)
    this.play();
  else
    this.pause();
});

演示:

$("video").click(function() {
  if (this.paused)
    this.play();
  else
    this.pause();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<video width="240">
          <source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
</video>

<video width="240">
          <source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
</video>

<video width="240">
          <source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
</video>

关于javascript - 多个视频的播放/暂停功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46733343/

相关文章:

javascript - 模板未显示在 angularjs + rails 应用程序中

javascript - 如何根据父和子复选框选择将淡入和淡出效果应用于选择控件?

javascript - 许多图像加载 HTML/Javascript 性能

javascript - $http获取返回html源代码angularjs

jquery - 选择选项后更改部分 url

javascript - 动态加载 swf 后无法与 Flex 中的 Javascript 进行通信

angularjs - 用于放置/删除的 CORS Cakephp 3.0 预检失败

javascript - 在 Canvas 中填充奇偶 react

javascript - SAPUI5 移除聚合项的 CSS 类

php - 如何使用 jquery/AJAX 从单选按钮传递数据