当前位置:首页 > VUE

vue实现文字抖动

2026-02-19 05:57:51VUE

Vue 实现文字抖动效果

在 Vue 中实现文字抖动效果可以通过 CSS 动画或 JavaScript 动态控制样式。以下是几种实现方法:

使用 CSS 动画

定义关键帧动画并应用到文本元素上:

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
  20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.shake-text {
  animation: shake 0.5s infinite;
}

在 Vue 模板中使用:

vue实现文字抖动

<template>
  <div class="shake-text">抖动的文字</div>
</template>

动态控制 CSS 类

通过 Vue 的响应式特性动态添加/移除抖动类:

<template>
  <div :class="{ 'shake-text': isShaking }">点击抖动</div>
  <button @click="toggleShake">切换抖动</button>
</template>

<script>
export default {
  data() {
    return {
      isShaking: false
    }
  },
  methods: {
    toggleShake() {
      this.isShaking = !this.isShaking
    }
  }
}
</script>

使用第三方动画库

安装 animate.css 库:

vue实现文字抖动

npm install animate.css

在 Vue 项目中引入并使用:

<template>
  <div class="animate__animated animate__shakeX animate__infinite">专业抖动效果</div>
</template>

<script>
import 'animate.css'
export default {}
</script>

自定义 JavaScript 实现

通过 ref 操作 DOM 实现更复杂的抖动:

<template>
  <div ref="shakingText" @click="startShake">点击开始抖动</div>
</template>

<script>
export default {
  methods: {
    startShake() {
      const element = this.$refs.shakingText
      let position = 0
      const interval = setInterval(() => {
        position = position === 0 ? 5 : -5
        element.style.transform = `translateX(${position}px)`
      }, 50)

      setTimeout(() => {
        clearInterval(interval)
        element.style.transform = 'translateX(0)'
      }, 1000)
    }
  }
}
</script>

这些方法可以根据实际需求选择使用,CSS 动画方案性能更好,JavaScript 方案控制更灵活。

标签: 文字vue
分享给朋友:

相关文章

vue实现多级弹窗

vue实现多级弹窗

Vue 多级弹窗实现方法 方法一:使用动态组件与递归组件 在 Vue 中可以通过动态组件配合递归组件实现多级弹窗。定义一个基础弹窗组件,通过递归调用自身实现层级嵌套。 基础弹窗组件模板示例: &…

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现div

vue实现div

Vue 实现 DIV 元素的方法 在 Vue 中实现 DIV 元素可以通过多种方式,以下是几种常见的实现方法: 使用模板语法 在 Vue 的模板中直接使用 HTML 的 <div> 标签…

vue实现后退

vue实现后退

Vue 实现后退功能的方法 在 Vue 中实现后退功能通常可以通过以下几种方式完成,具体取决于应用场景和需求。 使用 window.history API 通过原生 JavaScript 的 win…

vue实现handsontable

vue实现handsontable

Vue 中实现 Handsontable 要在 Vue 项目中集成 Handsontable,可以使用官方提供的 @handsontable/vue 封装库。以下是一个完整的实现步骤。 安装依赖 确…

vue grid实现

vue grid实现

Vue Grid 实现方法 在 Vue 中实现网格布局可以通过多种方式完成,包括使用原生 CSS Grid、第三方组件库或自定义组件。以下是几种常见方法: 使用原生 CSS Grid 通过 Vue…