当前位置: 首页 > news >正文

CountUp.js 实现数字增长动画 Vue

效果:

在这里插入图片描述

官网介绍

1. 安装

npm install --save countup.js

2. 基本使用

// template
<span ref="number1Ref"></span>// script
const number1Ref = ref<HTMLElement>()
onMounted(() => {new CountUp(number1Ref.value!, 9999999).start()
})

3. 参数

new CountUp(参数一, 参数二, option)
// 源码:CountUp类的构造函数,前两个参数必传,第三个参数为可选
constructor(target: string | HTMLElement | HTMLInputElement, endVal: number, options?: CountUpOptions);
  • 参数一: 数字所在容器
  • 参数二: 数字的最终值
  • option:更多配置项(可选)
// 括号内为默认值
interface CountUpOptions {startVal?: number; // 开始数字 (0)decimalPlaces?: number; // 小数位数 (0)duration?: number; // 动画时间:秒 (2)useGrouping?: boolean; // ,的位置。示例: 1,000 vs 1000 (true)useIndianSeparators?: boolean; // ,的位置。示例: 1,00,000 vs 100,000 (false)useEasing?: boolean; // ease animation (true)smartEasingThreshold?: number; // smooth easing for large numbers above this if useEasing (999)smartEasingAmount?: number; // amount to be eased for numbers above threshold (333)separator?: string; // 分隔符 (',')decimal?: string; // 小数点 ('.')// easingFn: easing function for animation (easeOutExpo)easingFn?: (t: number, b: number, c: number, d: number) => number;formattingFn?: (n: number) => string; // 格式化为字符串prefix?: string; // 在结果前面添加字符suffix?: string; // 在结果后面添加字符numerals?: string[]; // 数字替换。numeral glyph substitutionenableScrollSpy?: boolean; // 当视图可见时开始动画scrollSpyDelay?: number; // 视图可见后,延迟多久(单位:ms)开始动画scrollSpyOnce?: boolean; // 只运行一次onCompleteCallback?: () => any; // 动画完成后的回调函数onStartCallback?: () => any; // 动画开始时的回调函数plugin?: CountUpPlugin; // 插入CountUp动画
}

4. 示例

const option = {duration: 5,	// 动画持续时间5秒prefix: '¥'	// 在结果加前缀字符 ¥
}
onMounted(() => {new CountUp(number1Ref.value!, 9999999, option).start()
})

在这里插入图片描述

参考文章:CountUp.js( 轻量级数字动画插件 )原文链接

http://www.lryc.cn/news/462222.html

相关文章:

  • 设计模式大全
  • redis IO多路复用机制
  • Oracle漏洞修复 19.3 补丁包 升级为19.22
  • Q2=10 and Q2=1--PLB(Fig.4)
  • sd卡挂载返回FR_NOT_READY等错误
  • 推荐一款超级实用的浏览器扩展程序!实时翻译网页,支持多种语言(带私活源码)
  • manjaro kde 24 应该如何设置才能上网(2024-10-13亲测)
  • 2024软件测试面试大全(答案+文档)
  • unity动态批处理
  • faust,一个神奇的 Python 库!
  • electron本地OCR实现
  • RK3588的demo板学习
  • 基于springboot驾校管理系统
  • 关于Vue脚手架
  • MySQL 指定字段排序
  • Mysql—高可用集群MHA
  • MeshGS: Adaptive Mesh-Aligned GaussianSplatting for High-Quality Rendering 论文解读
  • JDK-23与JavaFX的安装
  • LeetCode讲解篇之2266. 统计打字方案数
  • 2025推荐选题|基于MVC的农业病虫害防治平台的设计与实现
  • Vue 3 的不同版本总结
  • 在wpf 中 用mvvm 的方式 绑定 鼠标事件
  • TELEDYNE DALSA相机连接编码器
  • 每天一个数据分析题(五百零八)- 机器学习模型
  • leetcode栈与队列(一)-有效的括号
  • 鸿蒙NEXT开发-知乎评论小案例(基于最新api12稳定版)
  • 重学SpringBoot3-集成Redis(十一)之地理位置数据存储
  • Docker-compose 单节点管理、consul 注册中心、registrator、template
  • 制药企业MES与TMS的数据库改造如何兼顾安全与效率双提升
  • Spring Boot比Spring多哪些注解