使用jquery的全屏视频背景

使用 Jquery 实现全屏视频背景的攻略如下:

1. 准备工作

在使用 JQuery 之前,需要先在 HTML 文件中引入 JQuery 库,通过以下代码将 JQuery 引入 HTML 中:

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

同时,需要在 HTML 中插入视频标签,通过以下代码将视频插入到 HTML 中:

<video src="yourvideo.mp4" autoplay loop muted></video>

其中,src 属性为视频资源的路径;autoplay 属性表示视频自动播放,loop 属性表示视频循环播放,muted 属性表示视频静音播放。

2. 使用 CSS 实现全屏背景视频

为了让视频铺满整个网页,需要使用 CSS 实现全屏背景视频。

video{
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  background-size: cover;
}

其中,position 属性为 fixed,表示视频的定位方式为固定定位;right、bottom 属性为 0,表示视频位于页面的右下角;min-width、min-height 属性为 100%,表示视频最小宽度和高度都为 100%,即铺满整个页面;width、height 属性为 auto,表示视频的宽度和高度都自适应;z-index 属性为 -100,表示视频在所有层级的最低层,不会遮挡其他元素;background-size 属性为 cover,表示视频可以按比例缩放,铺满整个容器。

3. 使用 JS 来控制视频播放的大小和位置

为了让视频居中且高度自适应,需要使用 JS 来控制视频播放的大小和位置。

首先,需要将视频标签用一个 div 包裹起来,并给这个 div 设置一个 ID。

<div id="video-container">
  <video src="yourvideo.mp4" autoplay loop muted></video>
</div>

接着,在 JS 中获取这个 div 的高度,并设置视频的高度和宽度为这个 div 的高度和宽度。

jQuery(document).ready(function($) {

  var videoWidth, videoHeight;

  function sizeVideo() {
    var $container = $('#video-container');

    videoHeight = $container.outerHeight();
    videoWidth = $container.outerWidth();

    $container.find('video')
      .width(videoWidth)
      .height(videoHeight);

  }

  sizeVideo();

  $(window).resize(function() {
    sizeVideo();
  });
});

这段代码首先定义了两个变量 videoWidth 和 videoHeight,用来存储容器的宽度和高度。然后定义了一个 sizeVideo 函数,该函数通过获取容器的宽度和高度,然后将视频的宽度和高度设置为容器的宽度和高度。最后,在 document 准备好并且窗口大小改变时调用这个函数。

示例说明

示例一:视频自适应和居中

现在有一个需求,要求将一个视频作为网站的背景,并且视频需要自适应和居中。我们可以通过以下代码来实现:

<div id="video-container">
  <video src="yourvideo.mp4" autoplay loop muted></video>
</div>
#video-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#video-container video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
jQuery(document).ready(function($) {

  var videoWidth, videoHeight;

  function sizeVideo() {
    var $container = $('#video-container');

    videoHeight = $container.outerHeight();
    videoWidth = $container.outerWidth();

    $container.find('video')
      .width(videoWidth)
      .height(videoHeight);

  }

  sizeVideo();

  $(window).resize(function() {
    sizeVideo();
  });
});

这段代码将视频放在一个容器 div 中,并将容器定位为固定定位,铺满整个页面。同时,视频设置最小宽度和最小高度为 100%,保证视频铺满整个容器。视频设置绝对定位,并使用 transform 属性将视频居中。

示例二:添加遮罩层

有时候,我们希望将视频转化成黑色和白色的,添加一个遮罩层可以非常方便地实现这个效果。下面来看一下如何添加遮罩层。

<div id="video-container">
  <video src="yourvideo.mp4" autoplay loop muted></video>
  <div class="overlay"></div>
</div>
#video-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#video-container video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

这段代码实现了一个黑色 30% 透明度的遮罩层。遮罩层使用绝对定位,铺满整个容器,背景颜色为 rgba(0, 0, 0, 0.3),即黑色 30% 透明度。遮罩层放在视频之上,通过 z-index 属性调整遮罩层和视频的层级。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用jquery的全屏视频背景 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • 如何使用jQuery在一个元素上应用样式

    jQuery是一个流行的JavaScript库,它提供了许多实用的功能,包括在一个元素上应用样式。在本攻略中,我们将详细介绍如何使用jQuery在一个元素上应用样,并提供两个示例来说明它们的用途。 使用css()方法 jQuery的css()方法用于在一个元素上设置CSS属性。它接受一个包含CSS属性和值的对象作为参数,并将这些属性和值用于元素。 以下是一个…

    jquery 2023年5月9日
    00
  • 利用jQuery实现漂亮的圆形进度条倒计时插件

    来一份详细的攻略。 标题 利用 jQuery 实现漂亮的圆形进度条倒计时插件 插件需求 能够支持自定义倒计时时长 能够在倒计时过程中实时更新进度条 能够在倒计时结束时触发回调事件 插件设计思路 插件设计基于 SVG 实现,SVG 是用于描述二维矢量图形的 XML 格式,提供了完整的图形描述能力,包括形状、路径、文字、图像等元素。 插件 HTML 结构 插件的…

    jquery 2023年5月28日
    00
  • js获取标签元素data-*属性值的4种方法

    下面是详细的“js获取标签元素data-*属性值的4种方法”攻略: 1. 使用getAttribute()方法 getAttribute() 方法用于返回指定属性名的属性值。可以通过该方法获取元素的任意属性,包括 data-* 属性。 const element = document.querySelector(‘#myElement’); const da…

    jquery 2023年5月28日
    00
  • 如何使用jQuery Mobile创建右置的图标选择

    以下是使用jQuery Mobile创建右置的图标选择的完整攻略: 首先,需要在HTML文件中引入jQuery Mobile库。可以通过以下代码实现: <head> <meta name="viewport" content="width=device-width, initial-scale=1"&…

    jquery 2023年5月11日
    00
  • jQWidgets jqxTreeGrid sortBy()方法

    以下是关于 jQWidgets jqxTreeGrid 组件中 sortBy() 方法的详细攻略。 jQWidgets jqxTreeGrid sortBy() 方法 jQWidgets jqxTreeGrid 的 sortBy() 方法用于以编程方式对树形结构中的列进行排序。您可以使用此方法来实现自定义排序逻辑,例如按照特定的规则对数据进行排序。 语法 $…

    jquery 2023年5月12日
    00
  • jQWidgets jqxBarGauge数值属性

    jQWidgets jqxBarGauge数值属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具包括表格、图表、历、菜单等。jqxBarGauge是jQ中的一个组件,可以用水平或垂直的条形。jqxBarGauge提供了多个数值属性,用于设置条形图的最大值、最小值、当前值等。 常用数值属性 以下是jqxBarGauge中常用的…

    jquery 2023年5月9日
    00
  • jQWidgets jqxKanban headerWidth属性

    jQWidgets jqxKanban headerWidth属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqxKanban是其中之一,本文将详细介绍jqxKanban的headerWidth属性,包括定义、语法和示例。 headerWidth属性的定义 jqxKanban的headerWidth属性用于设置看板…

    jquery 2023年5月10日
    00
  • jQuery UI Resizable autoHide选项

    以下是关于 jQuery UI 的 Resizable autoHide 选项的完整攻略: jQuery UI 的 Resizable autoHide 选项 在 jQuery UI 中,可以使用 resizable 方法使素可调整大小。autoHide 选项可以定是否自动隐藏调整大小的手柄。 语法 $(selector).res({ autoHide: b…

    jquery 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部