当前位置:首页 > VUE

vue 实现闪烁

2026-01-12 18:19:38VUE

Vue 实现元素闪烁效果

方法一:使用 CSS 动画 通过 Vue 绑定 class 或 style 来触发 CSS 动画实现闪烁效果。

<template>
  <div :class="{ 'blink': isBlinking }">闪烁内容</div>
  <button @click="toggleBlink">切换闪烁</button>
</template>

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

<style>
.blink {
  animation: blink 1s infinite;
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}
</style>

方法二:使用 setInterval 通过 JavaScript 定时器动态改变样式实现更灵活的控制。

<template>
  <div :style="{ opacity: currentOpacity }">动态闪烁内容</div>
  <button @click="startBlink">开始闪烁</button>
  <button @click="stopBlink">停止闪烁</button>
</template>

<script>
export default {
  data() {
    return {
      currentOpacity: 1,
      blinkInterval: null
    }
  },
  methods: {
    startBlink() {
      this.blinkInterval = setInterval(() => {
        this.currentOpacity = this.currentOpacity === 1 ? 0 : 1
      }, 500)
    },
    stopBlink() {
      clearInterval(this.blinkInterval)
      this.currentOpacity = 1
    }
  },
  beforeDestroy() {
    clearInterval(this.blinkInterval)
  }
}
</script>

方法三:使用 Vue 过渡 结合 Vue 的 transition 组件实现平滑的闪烁效果。

<template>
  <transition name="blink" mode="out-in">
    <div v-if="show" key="content">过渡闪烁内容</div>
  </transition>
  <button @click="toggleShow">切换显示</button>
</template>

<script>
export default {
  data() {
    return {
      show: true,
      toggleTimer: null
    }
  },
  methods: {
    toggleShow() {
      this.toggleTimer = setInterval(() => {
        this.show = !this.show
      }, 1000)
    }
  },
  beforeDestroy() {
    clearInterval(this.toggleTimer)
  }
}
</script>

<style>
.blink-enter-active, .blink-leave-active {
  transition: opacity 0.5s;
}
.blink-enter, .blink-leave-to {
  opacity: 0;
}
</style>

注意事项

  • 使用 CSS 动画性能更好,适合简单的闪烁效果
  • JavaScript 定时器可以实现更复杂的逻辑控制
  • 记得在组件销毁时清除定时器防止内存泄漏
  • 可以根据需求调整闪烁频率和过渡效果

vue 实现闪烁

标签: vue
分享给朋友:

相关文章

vue实现评论

vue实现评论

Vue 实现评论功能的方法 基础评论组件结构 使用 Vue 单文件组件(SFC)构建评论功能的核心结构。模板部分包含评论输入框和评论列表,脚本部分处理数据绑定和逻辑。 <template>…

vue 实现目录

vue 实现目录

Vue 实现目录的方法 在 Vue 项目中实现目录功能,可以通过以下几种方式实现,具体取决于需求和技术栈。 使用 Vue Router 实现路由目录 Vue Router 是 Vue.js 的官方…

vue单页面实现登录

vue单页面实现登录

实现登录功能的基本流程 在Vue单页面应用中实现登录功能,通常需要以下几个关键步骤: 创建登录表单组件 使用Vue的模板语法创建包含用户名和密码输入框的表单,并绑定数据到组件的data属性。 &l…

vue查看更多怎么实现

vue查看更多怎么实现

实现 Vue 的“查看更多”功能 数据截取与显示控制 通过 v-if 或 v-show 控制内容的显示与隐藏。初始状态下只显示部分内容,点击“查看更多”后展开完整内容。 <template&g…

vue实现页面截屏

vue实现页面截屏

使用html2canvas库实现截屏 html2canvas是一个流行的JavaScript库,可以将DOM元素转换为Canvas图像。在Vue项目中安装html2canvas: npm insta…

vue路由实现内部切换

vue路由实现内部切换

Vue 路由实现内部切换的方法 Vue Router 是 Vue.js 官方的路由管理器,用于实现单页应用(SPA)的页面切换。以下是几种常见的内部路由切换方式: 使用 <router-li…