javascript - 在页面的其余部分完成加载后延迟加载 html5 视频

标签 javascript jquery html html5-video lazy-loading

我有一个视频元素用作我正在构建的页面底部部分的背景。我正在尝试通过将 src 存储为 data-src 属性并在其他 Assets 加载后使用 jQuery 将其应用于 src 属性来为其构建一种“延迟加载”(因为它不是英雄图像或任何东西,我想加载一张海报以节省加载时间,然后再加载视频)。它似乎根本不适合我。正确应用了 src 属性,但视频无法加载或自动播放。我是从错误的 Angular 接近这个吗?有没有更好的方法来实现它?

基于 wordpress。

基本 HTML

<video width="100%" loop controls autoplay class="connect-bg">
    <source data-src="<?php echo get_template_directory_uri(); ?>/contact_Footer.mp4" type="video/mp4">
</video>

jQuery 函数

$(window).load(function(){
    footer_lazyloader();
});

function footer_lazyloader() {
    var $ = jQuery;

    $("video.connect-bg source").each(function(){
        var sourceFile = $(this).attr('data-src');
        $(this).attr('src',sourceFile);
    });
}

最佳答案

您可以分别使用“.load()”和“.play()”手动触发视频加载和播放。使用“parentElement”定位“source”元素的父元素以完成此操作:

$(function() {
  $("video.connect-bg source").each(function() {
    var sourceFile = $(this).attr("data-src");
    $(this).attr("src", sourceFile);
    var video = this.parentElement;
    video.load();
    video.play();
  });
});

关于javascript - 在页面的其余部分完成加载后延迟加载 html5 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033115/

相关文章:

html - 创建自定义搜索框

javascript - 将图标与 p 标签对齐

javascript - 检测何时支持带有 SVG 路径字符串的 Path2D

javascript - jQuery 数据表 - 意外的垂直滚动条

javascript - ElasticSearch 删除批量项目

javascript - 在javascript中遍历DOM

javascript - 将背景图像添加到单元格和单元格所在的行

javascript - 在 php 中从 Ajax/Jquery 获取表单 $_POST 数据

Jquery 函数从 UL 列表中删除最后 4 个 LI 的边框底部

javascript - Chrome 不尊重 svg 元素的驼峰命名法 "clippath"