当前位置:首页 > VUE

vue 实现动画效果

2026-02-18 10:24:41VUE

使用 Vue Transition 组件实现动画

Vue 提供了内置的 <transition><transition-group> 组件,用于在元素插入、更新或移除时应用动画效果。通过 CSS 过渡或 JavaScript 钩子实现动画。

<transition name="fade">
  <p v-if="show">This will fade in and out</p>
</transition>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

使用 CSS 动画库

可以集成第三方 CSS 动画库如 Animate.css,通过 <transition> 组件直接应用预定义的动画类。

vue 实现动画效果

<transition
  enter-active-class="animate__animated animate__bounceIn"
  leave-active-class="animate__animated animate__bounceOut"
>
  <p v-if="show">Bouncing text</p>
</transition>

使用 JavaScript 钩子实现复杂动画

通过 <transition> 的 JavaScript 钩子(如 beforeEnterenterafterEnter 等)可以实现更复杂的动画逻辑,例如结合 GSAP 库。

methods: {
  beforeEnter(el) {
    el.style.opacity = 0;
  },
  enter(el, done) {
    gsap.to(el, {
      opacity: 1,
      duration: 1,
      onComplete: done
    });
  }
}

列表动画与 TransitionGroup

<transition-group> 用于对列表中的多个元素应用动画,每个元素需要唯一的 key

vue 实现动画效果

<transition-group name="list" tag="ul">
  <li v-for="item in items" :key="item.id">
    {{ item.text }}
  </li>
</transition-group>
.list-enter-active, .list-leave-active {
  transition: all 1s;
}
.list-enter, .list-leave-to {
  opacity: 0;
  transform: translateY(30px);
}

状态驱动的动画

通过 Vue 的响应式数据和计算属性,可以实现基于状态变化的动画效果。

computed: {
  rotateValue() {
    return this.isActive ? 180 : 0;
  }
}
<div :style="{ transform: `rotate(${rotateValue}deg)` }">
  Animated Element
</div>

使用 Vue 动画库

对于更高级的需求,可以使用专为 Vue 设计的动画库,如 vue-kinesis(物理动画效果)或 vue2-animate(预定义动画集合)。

<kinesis-container>
  <kinesis-element :strength="10">
    Moves with mouse
  </kinesis-element>
</kinesis-container>

标签: 效果动画
分享给朋友:

相关文章

vue实现基金效果

vue实现基金效果

Vue 实现基金效果 在 Vue 中实现基金效果,通常指的是模拟基金的增长、波动或可视化展示。以下是几种常见的实现方式: 数据绑定与动态更新 通过 Vue 的数据绑定特性,可以动态展示基金净值的变化…

vue实现旋转效果

vue实现旋转效果

使用CSS动画实现旋转 在Vue中可以通过CSS的@keyframes或transform属性实现旋转效果。在组件的<style>部分定义旋转动画: .rotate { animat…

vue实现过度效果

vue实现过度效果

Vue 过渡效果实现方法 Vue 提供了内置的 <transition> 和 <transition-group> 组件,用于在元素或组件进入/离开 DOM 时应用过渡效果。…

vue实现动画代码

vue实现动画代码

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡组件、CSS 动画库集成以及第三方动画库结合。以下是几种常见实现方法: 使用 Vue 内置过渡组件 Vue 的 <tran…

vue实现移动效果

vue实现移动效果

使用 CSS 过渡实现移动效果 在 Vue 中,可以通过 v-bind:class 或 v-bind:style 结合 CSS 过渡实现移动效果。定义一个 CSS 类,包含 transition 属性…

vue实现分页效果

vue实现分页效果

使用Element UI实现分页 安装Element UI库后,可以直接使用el-pagination组件。需要在Vue项目中引入并注册Element UI。 <template>…