当前位置:首页 > VUE

vue 实现淡入淡出

2026-02-21 12:18:52VUE

淡入淡出动画实现方法

CSS Transition 方法
通过 Vue 的 <transition> 组件结合 CSS 的 transition 属性实现。需定义进入和离开的过渡样式:

<transition name="fade">
  <div v-if="show">内容</div>
</transition>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

CSS Animation 方法
使用 @keyframes 定义动画,通过 Vue 的 <transition> 组件触发:

vue 实现淡入淡出

.fade-enter-active {
  animation: fade-in 0.5s;
}
.fade-leave-active {
  animation: fade-in 0.5s reverse;
}
@keyframes fade-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

动态控制过渡时间

通过绑定 duration 属性动态调整过渡时长:

<transition :duration="{ enter: 500, leave: 800 }">
  <div v-if="show">内容</div>
</transition>

结合 JavaScript 钩子

使用 Vue 的 JavaScript 过渡钩子实现更复杂的逻辑:

vue 实现淡入淡出

<transition
  @before-enter="beforeEnter"
  @enter="enter"
  @leave="leave"
>
  <div v-if="show">内容</div>
</transition>
methods: {
  beforeEnter(el) {
    el.style.opacity = 0;
  },
  enter(el, done) {
    anime({
      targets: el,
      opacity: 1,
      duration: 500,
      complete: done
    });
  },
  leave(el, done) {
    anime({
      targets: el,
      opacity: 0,
      duration: 500,
      complete: done
    });
  }
}

第三方动画库

使用如 Animate.css 等库快速实现预设动画:

<transition
  enter-active-class="animate__animated animate__fadeIn"
  leave-active-class="animate__animated animate__fadeOut"
>
  <div v-if="show">内容</div>
</transition>

需先安装并导入动画库:

npm install animate.css
import 'animate.css';

标签: vue
分享给朋友:

相关文章

vue手写签名如何实现

vue手写签名如何实现

实现手写签名的基本思路 在Vue中实现手写签名功能,通常需要借助HTML5的Canvas API来捕获用户的绘制操作。核心流程包括初始化画布、监听触摸/鼠标事件、记录轨迹以及生成签名图片。 安装依赖…

vue实现mvc

vue实现mvc

Vue 实现 MVC 模式 Vue 本身是一个 MVVM(Model-View-ViewModel)框架,但可以通过结构调整实现 MVC(Model-View-Controller)模式。以下是具体实…

代码实现vue

代码实现vue

创建Vue项目 使用Vue CLI快速初始化项目,确保已安装Node.js和npm/yarn: npm install -g @vue/cli vue create my-vue-project c…

vue实现图库

vue实现图库

Vue 实现图库的基本方法 使用 Vue 实现图库功能可以通过多种方式完成,以下是一些常见的方法和实现步骤。 使用 Vue 和第三方库(如 Vue Gallery) 安装 vue-gallery 或…

vue实现发帖

vue实现发帖

使用 Vue 实现发帖功能 前端实现 创建发帖表单组件,包含标题和内容输入框,以及提交按钮。使用 v-model 绑定表单数据。 <template> <div>…

vue实现github

vue实现github

Vue 实现 GitHub 相关功能 创建 GitHub API 请求 在 Vue 项目中,可以使用 axios 或 fetch 与 GitHub API 进行交互。需要在 GitHub 上创建个人访…