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 相关文章推荐
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
Jan 05 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
详解使用angular的HttpClient搭配rxjs
Sep 01 Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
Sep 04 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 Javascript
javascript实现图片轮播代码
Jul 09 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
Nov 12 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 reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
js实现单张图片平移切换效果
2017/10/11 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
对python字典过滤条件的实例详解
2019/01/22 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
Java程序员面试题
2013/07/15 面试题
机电工程学生自荐信范文
2013/12/07 职场文书
反邪教标语
2014/06/23 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
劳模先进事迹材料
2014/12/24 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
创业计划书之面包店
2019/09/12 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
python3.9之你应该知道的新特性详解
2021/04/29 Python