介绍

vue-countup-v3 插件是一个基于 Vue3 的数字动画插件,用于在网站或应用程序中创建带有数字动画效果的计数器。通过该插件,我们可以轻松地实现数字的递增或递减动画,并自定义其样式和动画效果。该插件可以用于许多场景,例如展示网站页面的访问量,展示应用程序的下载量,以及展示任何需要动态展示数字的场景等。

效果

该插件支持更多的参数自定义,比如数字的样式、动画的播放方向、循环播放等等。通过这些参数,可以实现更加丰富的数字动画效果。一个简单的效果如下:
在这里插入图片描述

安装

npm i vue-countup-v3

属性

属性 类型 默认值 描述
endVal Number | String - 结束值
startVal Number | String 0 起始值
duration Number 2.5 动画时长,单位:秒
decimalPlaces Number 0 小数点位数
autoplay Boolean true 是否自动计数
loop Boolean | Number false 循环次数,有限次数 / 无限循环
delay Number 0 loop 循环的间隔时间,单位:秒
options Object - 配置项

事件

时间 描述 返回值
@init CountUp 实例初始化完成触发 CountUp 实例
@finished 计数结束时触发 -

配置项

配置项 类型 默认值 描述
startVal number 0 开始数值
decimalPlaces number 0 小数点位数
duration number 2 动画时长,单位:秒
useGrouping boolean true 是否使用千位分隔符)显示
useIndianSeparators boolean false 是否使用印度数位分隔符
useEasing boolean true 是否开启数字增加过程中的缓动方式
smartEasingThreshold number 999 设置一个阈值用于调整数字计数器的动画效果
smartEasingAmount number 0.5 控制着数字变化的缓动效果
separator string , 千分位分隔符
decimal string . 小数点分隔符
easingFn number easeOutExpo 用于控制数字变化的缓动函数
formattingFn string - 用于格式化计数器的值
prefix string - 数值前缀
suffix string - 数值后缀
numerals string[] - 数字符号替换 0 - 9
enableScrollSpy boolean true 在可视范围内才开始动画
scrollSpyDelay number 50ms 目标进入可视范围内后的延迟时间(毫秒)
scrollSpyOnce boolean false 滚动到该元素时执行数字滚动动画是否执行一次
onCompleteCallback - - 回调函数,可以在计数结束时执行
plugin - - 用于替换动画效果

完整样例

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

<script setup lang="ts">
  import { ref } from 'vue'
  import CountUp from 'vue-countup-v3'
  import type { ICountUp, CountUpOptions } from 'vue-countup-v3'
  
  const endValueRef = ref(2022.22)
  // coutup.js options
  const options: CountUpOptions = {
    separator: '❤️'
    // ...
  }
  let countUp: ICountUp | undefined
  const onInit = (ctx: ICountUp) => {
    console.log('init', ctx)
    countUp = ctx
  }
  const onFinished = () => {
    console.log('finished')
  }
</script>

<template>
  <count-up 
    :end-val="endValueRef"
    :duration="2.5"
    :decimal-places="2"
    :options="options"
    :loop="2"
    :delay="2"
    @init="onInit"
    @finished="onFinished"></count-up>
</template>

转发:https://blog.csdn.net/qq_20185737/article/details/131454676

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐