javascript - 使用事件监听等待readyState html5视频

标签 javascript jquery html video

这是我加载视频的 JavaScript。

var vid = $("#video");

$("#video").on("load",function() {
    if ( vid[0].ReadyState === 4 ) {
        console.log("loaded video!");
        console.log(vid);
        vid.fadeIn();
    }
});

我想在 .load() 运行后每次视频 div 刷新时播放我的视频。我如何循环这个直到readyState == 4?我尝试使用 on("canplaythrough") 但这从未被识别为函数...

最佳答案

确保您在标记中设置了 preload="auto" (并且不要使用 autoplay),然后您就可以使用 canplay > 事件:

var vid = $("#video");

vid.on("canplay", function() {
  vid[0].play();
  vid.fadeIn(1000);
});

$("#change").on("click", function() {
  vid.hide();
  vid[0].src = "http://www.html5rocks.com/en/tutorials/video/basics/devstories.mp4";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<video id="video" width="500" height="280" preload="auto" style="display:none">
  <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
  <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm" type="video/webm">
  <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv" type="video/ogg">
</video>
<button id="change">Change source (mp4 only for this example)</button>

关于javascript - 使用事件监听等待readyState html5视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27253797/

相关文章:

jquery - 单击时隐藏所有打开的同级元素

html - 从财政部网站上删除联邦票据收​​益率表

java - 如何在不每 2 秒请求一次的情况下将数据推送到 jsp?

php - 使用ajax根据下拉菜单选择更新文本字段

javascript - 帮助使用 jQuery 或 javascript 从 iFrame 获取元素

jquery - 我可以使用 ajax 和 jquery 访问我的私有(private) bitbucket 存储库吗?

html - 转换为 HTML5

html - 在元素内部为底部\左设置边框,为顶部\右不设置边框

javascript - 滚动时 react native 自动隐藏导航 ios

javascript - 如何使用 jQuery 收藏显示在我网站上的推文?