当前位置:首页 > VUE

vue实现数字递增滚动

2026-01-21 19:10:18VUE

Vue 实现数字递增滚动效果

在 Vue 中实现数字递增滚动效果可以通过多种方式完成,以下提供两种常见方法:

使用定时器和计算属性

<template>
  <div>{{ animatedNumber }}</div>
</template>

<script>
export default {
  data() {
    return {
      targetNumber: 1000,
      currentNumber: 0,
      animationDuration: 2000,
      startTime: null
    }
  },
  computed: {
    animatedNumber() {
      return Math.floor(this.currentNumber)
    }
  },
  mounted() {
    this.animateNumber()
  },
  methods: {
    animateNumber(timestamp) {
      if (!this.startTime) this.startTime = timestamp
      const progress = Math.min((timestamp - this.startTime) / this.animationDuration, 1)
      this.currentNumber = progress * this.targetNumber
      if (progress < 1) {
        requestAnimationFrame(this.animateNumber)
      }
    }
  }
}
</script>

使用第三方库(如 vue-count-to)

安装 vue-count-to 库:

npm install vue-count-to --save

使用示例:

<template>
  <count-to :start-val="0" :end-val="1000" :duration="2000"></count-to>
</template>

<script>
import CountTo from 'vue-count-to'
export default {
  components: { CountTo }
}
</script>

自定义过渡效果

可以通过 CSS 过渡增强视觉效果:

.number-transition {
  transition: all 0.5s ease-out;
}

结合 Vue 的 transition 组件:

<transition name="number-transition">
  <div :key="animatedNumber">{{ animatedNumber }}</div>
</transition>

注意事项

  • 性能优化:对于大量数字动画,考虑使用 requestAnimationFrame
  • 格式化:可使用 toLocaleString() 方法添加千位分隔符
  • 中断处理:组件销毁时应清除动画帧请求

以上方法可根据具体需求选择,第三方库方案更简单快捷,自定义实现则更灵活可控。

vue实现数字递增滚动

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

相关文章

vue增删改查简单实现

vue增删改查简单实现

基础环境搭建 确保已安装Node.js和Vue CLI。通过以下命令创建Vue项目: npm install -g @vue/cli vue create vue-crud-demo cd vue…

vue实现字母添加排序

vue实现字母添加排序

实现字母添加排序的方法 在Vue中实现字母添加排序功能,可以通过以下步骤完成: 创建Vue实例并定义数据 new Vue({ el: '#app', data: { letters…

vue原型实现

vue原型实现

Vue 原型实现的关键点 Vue.js 的原型系统是其响应式机制的核心部分,通过原型链实现数据的动态绑定和依赖收集。以下是实现 Vue 原型的主要技术要点。 数据响应式原理 Vue 通过 Obje…

vue 实现toast

vue 实现toast

vue 实现 toast 的方法 在 Vue 中实现 Toast 提示功能可以通过多种方式,以下是几种常见的实现方法: 使用第三方库 Vue 生态中有许多成熟的 Toast 库,例如 vue-toa…

vue聊天实现

vue聊天实现

Vue 聊天应用实现步骤 创建 Vue 项目 使用 Vue CLI 或 Vite 初始化项目,安装必要依赖(如 Vue 3、Element UI 或 Vuetify 用于 UI 组件)。 npm c…

vue实现高亮

vue实现高亮

Vue 实现文本高亮的方法 在 Vue 中实现文本高亮可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-html 指令 通过 v-html 指令可以动态插入 HTML 内容,将需要高…