【问题标题】:HTML5 <Video> "Loop" with a gap or delay of few secondsHTML5 <Video> “循环”,有几秒钟的间隙或延迟
【发布时间】:2015-08-17 20:16:06
【问题描述】:

我正在使用 HTML 5“视频”标签在我的页面上显示带有“循环”功能或属性的视频。

有什么方法可以使用“Loop”属性在视频之间添加延迟或间隔??

<video id="myVideo" autoplay loop src="http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4">

请参考链接查看视频标签代码>“http://jsfiddle.net/nrf5fbh8/1/

请推荐!


更新了我的代码,我的视频标签没有控件。

谢谢!

【问题讨论】:

  • 一种方法是使用listener 结合JS timeout 告诉它在视频结束后x 秒后重播视频播放(而不是使用循环属性)。
  • 你能用我提供的链接解释一下你的意思吗?将是一个很大的帮助!谢谢
  • 嘿APAD1:只是为了更新,我的视频标签没有控件显示..刚刚更新了我的问题!
  • 没问题,删除控件不会影响我的解决方案。

标签: javascript jquery html video timedelay


【解决方案1】:

扩展我上面的评论,基本上,您可以设置一个侦听器并在侦听器中放置一个函数,以便在视频结束后指定的时间量(以毫秒为单位)后重播视频,而不是使用循环属性。 JS 看起来像这样:

document.getElementById('myVideo').addEventListener('ended',myHandler,false);
function myHandler(e) {
    console.log('ended');
    setTimeout(function(){
        document.getElementById('myVideo').play();
    }, 5000);
}

Updated Fiddle

【讨论】:

  • 感谢 APAD1!我喜欢你的解决方案..它在小提琴中效果很好,但不确定当我在页面中添加相同的代码时出现错误的问题是什么......
  • "SCRIPT5007: 无法获取未定义或空引用的属性 'addEventListener'"
  • 知道一定是什么问题吗?
  • 将脚本移动到页面底部,就在结束 &lt;/body&gt; 标记之前。该错误意味着它正在寻找一个尚不存在的元素,因为在将元素放入 DOM 之前触发了 Javascript。
  • 哎呀..我太傻了..谢谢哥们,你的解决方案太棒了!现在很好用!!
猜你喜欢
  • 1970-01-01
  • 2019-10-25
  • 2022-01-18
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多