当前位置:首页 > VUE

vue实现fadein

2026-01-07 19:46:42VUE

Vue 实现 FadeIn 效果

在 Vue 中实现淡入(FadeIn)效果可以通过 CSS 过渡、动画或第三方库实现。以下是几种常见方法:

使用 CSS 过渡

通过 Vue 的过渡系统结合 CSS 实现淡入效果:

<template>
  <transition name="fade">
    <div v-if="show">内容淡入效果</div>
  </transition>
</template>

<script>
export default {
  data() {
    return {
      show: false
    }
  },
  mounted() {
    this.show = true
  }
}
</script>

<style>
.fade-enter-active {
  transition: opacity 1s ease;
}
.fade-enter-from {
  opacity: 0;
}
</style>

使用 CSS 动画

通过 @keyframes 定义动画并应用到元素:

<template>
  <div class="fade-in">内容淡入效果</div>
</template>

<style>
.fade-in {
  animation: fadeIn 1s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
</style>

使用第三方动画库

通过 animate.css 等库快速实现:

<template>
  <div class="animate__animated animate__fadeIn">内容淡入效果</div>
</template>

<script>
import 'animate.css'
</script>

动态控制透明度

通过 Vue 的数据绑定动态控制透明度:

<template>
  <div :style="{ opacity: opacity }">内容淡入效果</div>
</template>

<script>
export default {
  data() {
    return {
      opacity: 0
    }
  },
  mounted() {
    const interval = setInterval(() => {
      this.opacity += 0.1
      if (this.opacity >= 1) clearInterval(interval)
    }, 100)
  }
}
</script>

使用 Vue Transition 的高级配置

配置过渡的钩子函数实现更复杂效果:

<template>
  <transition
    @before-enter="beforeEnter"
    @enter="enter"
    @after-enter="afterEnter"
  >
    <div v-if="show">内容淡入效果</div>
  </transition>
</template>

<script>
export default {
  methods: {
    beforeEnter(el) {
      el.style.opacity = 0
    },
    enter(el, done) {
      let opacity = 0
      const interval = setInterval(() => {
        opacity += 0.1
        el.style.opacity = opacity
        if (opacity >= 1) {
          clearInterval(interval)
          done()
        }
      }, 100)
    },
    afterEnter(el) {
      console.log('动画完成')
    }
  }
}
</script>

以上方法可根据项目需求选择,CSS 过渡适合简单场景,动画库适合快速开发,JavaScript 控制适合需要精细调控的场景。

vue实现fadein

标签: vuefadein
分享给朋友:

相关文章

vue实现图片轮播

vue实现图片轮播

使用 Swiper 实现图片轮播 安装 Swiper 依赖 npm install swiper 在 Vue 组件中引入 Swiper <template> <div…

vue的动画实现

vue的动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件…

vue 页签实现

vue 页签实现

Vue 页签实现方法 在 Vue 中实现页签功能通常涉及动态组件、路由或状态管理。以下是几种常见的实现方式: 使用动态组件 通过 Vue 的 <component> 动态组件结合 v-f…

vue实现菜单调用

vue实现菜单调用

Vue 实现动态菜单的常见方法 基于路由配置生成菜单 Vue Router 的路由配置可以天然转化为菜单结构,适合权限与路由绑定的系统: // router/index.js const rout…

拖拽式编程vue实现

拖拽式编程vue实现

拖拽式编程在 Vue 中的实现方法 使用 HTML5 原生拖放 API Vue 可以结合 HTML5 的拖放 API 实现基础拖拽功能。通过 draggable 属性标记可拖拽元素,监听 dragst…

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Token…