当前位置:首页 > VUE

vue使用animate实现动画

2026-02-21 04:43:50VUE

使用 Animate.css 实现 Vue 动画

在 Vue 项目中集成 Animate.css 可以快速实现丰富的 CSS 动画效果。Animate.css 提供了大量预设的动画类名,只需简单添加类名即可触发动画。

安装 Animate.css 依赖:

npm install animate.css

全局引入 Animate.css:

// main.js
import 'animate.css'

基础用法:直接添加类名

在 Vue 模板中直接使用 Animate.css 的类名组合:

<template>
  <div class="animate__animated animate__bounce">弹跳动画</div>
</template>

动态控制动画

通过 Vue 的响应式数据动态控制动画:

<template>
  <div 
    class="animate__animated"
    :class="{'animate__shakeX': shouldShake}"
    @click="triggerAnimation"
  >
    点击触发抖动动画
  </div>
</template>

<script>
export default {
  data() {
    return {
      shouldShake: false
    }
  },
  methods: {
    triggerAnimation() {
      this.shouldShake = true
      setTimeout(() => {
        this.shouldShake = false
      }, 1000)
    }
  }
}
</script>

结合 Transition 组件

与 Vue 的 Transition 组件配合使用实现入场/离场动画:

<template>
  <button @click="show = !show">切换</button>
  <Transition
    enter-active-class="animate__animated animate__fadeInDown"
    leave-active-class="animate__animated animate__fadeOutUp"
  >
    <div v-if="show">过渡动画内容</div>
  </Transition>
</template>

<script>
export default {
  data() {
    return {
      show: true
    }
  }
}
</script>

自定义动画时长

通过 CSS 变量覆盖默认动画时长:

/* 在全局样式或组件样式中 */
.animate__animated {
  --animate-duration: 0.5s;
}

动画事件监听

监听动画开始和结束事件:

<template>
  <div
    class="animate__animated animate__bounce"
    @animationstart="handleStart"
    @animationend="handleEnd"
  >
    带事件监听的动画
  </div>
</template>

<script>
export default {
  methods: {
    handleStart() {
      console.log('动画开始')
    },
    handleEnd() {
      console.log('动画结束')
    }
  }
}
</script>

注意事项

  • Animate.css v4+ 使用 animate__ 前缀,旧版使用 animated 前缀
  • 确保元素初始状态设置为 display: blockdisplay: inline-block
  • 重复动画需要移除再添加类名,或使用 animation-iteration-count CSS 属性
  • 移动端性能优化建议减少复杂动画使用

vue使用animate实现动画

标签: 动画vue
分享给朋友:

相关文章

vue实现弹窗可切换

vue实现弹窗可切换

实现弹窗可切换的 Vue 方案 动态组件切换 通过 Vue 的 <component :is="currentComponent"> 动态加载不同弹窗组件,结合 v-if 控制显示状态。…

vue请求实现进度条

vue请求实现进度条

实现请求进度条的方法 在Vue中实现请求进度条可以通过多种方式完成,常见的有使用第三方库如axios结合nprogress或自定义进度条组件。以下是几种实现方法: 使用axios和nprogres…

vue实现autocomplete

vue实现autocomplete

Vue 实现 Autocomplete 功能 Vue 中实现 Autocomplete(自动完成)功能可以通过自定义组件或使用现有库完成。以下是几种常见方法: 方法一:使用 Vue 原生实现 创建…

vue交互实现

vue交互实现

Vue 交互实现方法 Vue.js 提供了多种方式实现用户交互,包括事件处理、表单绑定、动态渲染等。以下是常见的交互实现方法: 事件处理 通过 v-on 或 @ 指令绑定事件,触发方法或直接执行表达…

vue实现管道

vue实现管道

Vue 中实现管道(Pipe)功能 在 Vue 中可以通过过滤器(Filters)或计算属性(Computed Properties)实现类似管道的功能,将数据经过多个处理步骤后输出。 使用过滤器…

vue 实现递归

vue 实现递归

Vue 实现递归组件的方法 在 Vue 中实现递归组件通常用于处理树形结构数据,例如菜单、评论列表或文件目录。以下是实现递归组件的关键步骤: 定义递归组件 递归组件需要设置 name 属性,以便在模…