Vue登录主页动态背景短视频制作


Posted in Javascript onSeptember 21, 2019

本文实例为大家分享了Vue制作登录主页动态背景短视频的具体代码,供大家参考,具体内容如下

一、HTML代码

<source src="../assets/video/G1s.mp4" type="video/mp4"/>

注:src的路径根据自己的需要改变;

video标签无法自动播放 刷新后无法自动播放;

解决方法:给video标签添加muted属性,可写为muted或完整写法:muted=“muted”

<template>
 <div class="homepage-hero-module">
  <div class="video-container">
  <div :style="fixStyle" class="filter">
   <!--内容-->
  </div>
  <video :style="fixStyle" autoplay loop muted class="fillWidth" v-on:canplay="canplay">
   <source src="../assets/video/G1s.mp4" type="video/mp4"/>
   浏览器不支持 video 标签,建议升级浏览器。
   <source src="../assets/video/G1w.webm" type="video/webm"/>
   浏览器不支持 video 标签,建议升级浏览器。
  </video>
  <div class="poster hidden" v-if="!vedioCanPlay">
   <img :style="fixStyle" src="../assets/video/G1.jpg" alt="">
  </div>
  </div>
 </div>
</template>

二、css代码

<style scoped>
 .homepage-hero-module,
 .video-container {
 position: relative;
 height: 100vh;
 overflow: hidden;
 }
 
 .video-container .poster img{
 z-index: 0;
 position: absolute;
 }
 
 .video-container .filter {
 z-index: 1;
 position: absolute;
 background: rgba(0, 0, 0, 0.4);
 width: 100%;
 }
 
 .fillWidth {
 width: 100%;
 }
</style>

三、JavaScript----代码

name: '  ***  '   自定义

export default {
 name: 'Video',
 data() {
  return {
  vedioCanPlay: false,
  fixStyle: ''
  }
 },
 methods: {
  canplay() {
  this.vedioCanPlay = true
  }
 },
 mounted: function() { //屏幕自适应
  window.onresize = () => {
  const windowWidth = document.body.clientWidth
  const windowHeight = document.body.clientHeight
  const windowAspectRatio = windowHeight / windowWidth
  let videoWidth
  let videoHeight
  if (windowAspectRatio < 0.5625) {
   videoWidth = windowWidth
   videoHeight = videoWidth * 0.5625
   this.fixStyle = {
   height: windowWidth * 0.5625 + 'px',
   width: windowWidth + 'px',
   'margin-bottom': (windowHeight - videoHeight) / 2 + 'px',
   'margin-left': 'initial'
   }
  } else {
   videoHeight = windowHeight
   videoWidth = videoHeight / 0.5625
   this.fixStyle = {
   height: windowHeight + 'px',
   width: windowHeight / 0.5625 + 'px',
   'margin-left': (windowWidth - videoWidth) / 2 + 'px',
   'margin-bottom': 'initial'
   }
  }
  }
  window.onresize()
 }
 }

四、效果演示

由于上传大小限制,只能剪短的gif动画了。

Vue登录主页动态背景短视频制作

五、HTML版

视频呢下载和html版代码在官网最下方:https://coverr.co

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js验证表单第二部分
Nov 25 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
使用angular写一个hello world
Jan 23 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
Bootstrap Table使用整理(三)
Jun 09 Javascript
关于TypeScript模块导入的那些事
Jun 12 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
Nov 08 Javascript
layui table 获取分页 limit的方法
Sep 20 #Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 #Javascript
解决layui动态加载复选框无法选中的问题
Sep 20 #Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
Sep 20 #Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 #Javascript
教你如何用Node实现API的转发(某音乐)
Sep 20 #Javascript
使用layui实现树形结构的方法
Sep 20 #Javascript
You might like
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
python类参数self使用示例
2014/02/17 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
Linux开机引导的步骤是什么
2015/10/19 面试题
鉴定评语大全
2014/05/05 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
滞留工资返还协议书
2014/10/19 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫