当前位置:首页 > VUE

vue实现视频开场

2026-02-25 16:51:54VUE

实现视频开场效果

在Vue中实现视频开场效果可以通过多种方式完成,常见方法包括使用HTML5的<video>标签结合Vue的动态渲染和事件监听。

HTML5视频标签基础

<video ref="videoPlayer" autoplay muted>
  <source src="@/assets/intro.mp4" type="video/mp4">
</video>

设置autoplaymuted属性确保视频自动播放(浏览器策略要求静音)。

控制视频播放状态

通过Vue的ref和事件监听实现播放控制:

export default {
  methods: {
    playVideo() {
      this.$refs.videoPlayer.play()
    },
    onVideoEnd() {
      // 视频结束后跳转页面或显示内容
      this.$router.push('/home')
    }
  },
  mounted() {
    this.$refs.videoPlayer.addEventListener('ended', this.onVideoEnd)
  }
}

添加加载状态处理

视频加载时显示加载动画:

<template>
  <div v-if="loading" class="loader">Loading...</div>
  <video 
    v-else
    @loadeddata="loading = false"
    @waiting="loading = true"
  >
</template>

响应式视频尺寸

通过CSS确保视频适应不同屏幕:

video {
  width: 100%;
  height: auto;
  max-height: 100vh;
  object-fit: cover;
}

移动端兼容处理

针对移动设备添加触摸事件跳过功能:

handleSkip() {
  this.$refs.videoPlayer.currentTime = 
    this.$refs.videoPlayer.duration - 0.1
}

预加载优化

created生命周期预加载视频:

created() {
  const video = new Video()
  video.src = require('@/assets/intro.mp4')
  video.load()
}

动画过渡效果

视频结束后添加页面过渡:

onVideoEnd() {
  this.$el.classList.add('fade-out')
  setTimeout(() => {
    this.$router.push('/main')
  }, 1000)
}

对应CSS:

.fade-out {
  opacity: 0;
  transition: opacity 1s;
}

vue实现视频开场

标签: 视频vue
分享给朋友:

相关文章

vue实现边框

vue实现边框

Vue 实现边框的方法 在 Vue 中实现边框效果可以通过多种方式完成,包括内联样式、CSS 类绑定、动态样式以及使用第三方 UI 库。以下是几种常见的实现方法。 内联样式绑定 使用 Vue 的…

vue router 实现

vue router 实现

Vue Router 的实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的核心实现方式。 安装 Vue Router 通…

vue实现erp

vue实现erp

Vue实现ERP系统的关键步骤 技术选型与架构设计 采用Vue 3 + TypeScript构建前端,搭配Pinia状态管理,Element Plus或Ant Design Vue作为UI框架。后端可…

通过vue实现

通过vue实现

Vue 实现方法 安装 Vue 确保已安装 Node.js 和 npm,通过以下命令安装 Vue CLI: npm install -g @vue/cli 创建 Vue 项目 使用 Vue CLI…

vue实现长按

vue实现长按

Vue 实现长按功能的方法 在 Vue 中实现长按功能可以通过原生事件监听或自定义指令完成。以下是几种常见实现方式: 使用原生事件监听 通过 @mousedown 和 @mouseup 或 @t…

vue实现抖动

vue实现抖动

Vue 实现抖动效果 在 Vue 中实现抖动效果可以通过 CSS 动画或 JavaScript 动画库来实现。以下是几种常见的方法: 使用 CSS 动画 通过定义 @keyframes 动画并在 V…