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 相关文章推荐
date.parse在IE和FF中的区别
Jul 29 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
利用forever和pm2部署node.js项目过程
May 10 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
小程序实现日历左右滑动效果
Oct 21 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 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
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
javaScript基础详解
2017/01/19 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
python获取文件扩展名的方法
2015/07/06 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
《有趣的发现》教学反思
2014/04/15 职场文书
工地安全质量标语
2014/06/07 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
五四青年节活动总结
2015/02/10 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
改进工作作风心得体会
2016/01/23 职场文书
小学作文之描写天气
2019/08/15 职场文书
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript