javascript - 带视频的网站加载屏幕(等待视频完全加载)

标签 javascript jquery html css video

我在我的网站中包含了一个大约 28MB 的 html5 视频。

在显示网站之前,我还需要一个加载屏幕。我将 div 包含在类“se-pre-con”中,并为其添加了 css。

代码如下:

jQuery(window).load(function() {
    // Animate loader off screen
    jQuery(".se-pre-con").fadeOut("slow");;
});
.no-js #loader {
    display: none;  
}
.js #loader { 
    display: block; 
    position: absolute; 
    left: 100px; 
    top: 0; 
}
.se-pre-con {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url(../images/ajax-loader.gif) center no-repeat #fff;
}
<video id="v0" tabindex="0" autobuffer="autobuffer" preload="auto">
      <!-- <source type="video/webm; codecs=&quot;vp8, vorbis&quot;" src="images/bb.webm"></source> -->
      <source type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;" src="images/bb.mp4"></source> 
      <source type="video/ogv; codecs=&quot;theora, vorbis&quot;" src="images/bb.ogv"></source> 
      
      <p>Sorry, your browser does not support the &lt;video&gt; element.</p>
</video>

我使用 codepen 中的滚动视频控件 http://codepen.io/ollieRogers/pen/lfeLc

但是这个加载器不会等待视频。它消失了,视频没有加载完整。现在,当我尝试滚动视频时,我遇到了问题......

您知道我如何在整个视频加载完毕之前显示加载页面吗?

最佳答案

您可以监听 canplaythrough 事件的触发。不过从加载事件中删除 fadeOut。它与加载的整个视频并不完全相同,但这是我能想到的最接近 atm 的情况。

var video = document.querySelector('#v0');
video.addEventListener('canplaythrough', function () {
        // Add code to fade out the loading screen.
});

关于javascript - 带视频的网站加载屏幕(等待视频完全加载),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32254140/

相关文章:

javascript - 从唯一的串联变量中减去 1

javascript - 我可以使用 CSS 类将 iframe 中的 div 设置为父窗口的宽度和高度吗?

javascript - 选择下拉菜单后重定向到 URL

jquery - 使用 Jquery 的目标类名称+特定数据 ID

html - 如何在 html 上的实际屏幕框架上添加阴影?

javascript - jQuery : find length of mixed list

javascript - 具有 15 小时延迟的 Moment.js

javascript - 如何使用默认参数为 Tic-Tac-Toe 游戏中的第一个玩家随机化 "X"和 "O"符号?

使用 underscore.js 的 Javascript 模板

javascript - Canvas 透明度蒙版效果蒙版百分比