数字滚动实现

介绍

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

安装命令

npm i vue-countup-v3

代码实现

简便版

<script setup lang="ts">
import CountUp from 'vue-countup-v3'
</script><template><count-up :end-val="3000"></count-up>
</template> 

豪华版-单个

<template><div class="body"><div class="box"><count-up :end-val="endVal" :duration="duration":decimal-places="decimals" :options="options" @init="onInit" @finished="onFinished"class="count"></count-up></div></div>
</template><script setup lang="ts">
import { reactive, toRefs, onMounted,ref } from 'vue'
import CountUp from 'vue-countup-v3'
import type { ICountUp, CountUpOptions } from 'vue-countup-v3'import zhuxing from '@/components/gundong/zhuxing.vue'const data = reactive({startVal: 0, // 开始值endVal: 10000, // 结束值 -- 可以写成动态的duration: 5, // 跳动时长 - 单位:秒decimals: 0, // 小数点位数countUp: undefined as ICountUp | undefined, // 跳动的对象options: {// 配置分隔符separator: '❤️'} as CountUpOptions
})const onInit = (ctx: ICountUp) => {data.countUp = ctxconsole.log(`开始`, ctx)
}
const onFinished = () => {console.log('结束')
}
const { endVal, duration, decimals, options } = toRefs(data)onMounted(async () => {// onInit()// onFinished()
})
</script><style lang="less" scoped>
.body {.box {display: flex;justify-content: flex-start;.count {font-size: 20px;font-weight: bold;margin: 0 30px;}}
}
</style>

豪华版-多个

<template><div class="body"><div class="box"><count-up v-for="(val, index) in endVal" :key="index" :end-val="val" :duration="duration":decimal-places="decimals" :options="options" @init="onInit" @finished="onFinished"class="count"></count-up></div></div>
</template><script setup lang="ts">
import { reactive, toRefs, onMounted,ref } from 'vue'
import CountUp from 'vue-countup-v3'
import type { ICountUp, CountUpOptions } from 'vue-countup-v3'const data = reactive({startVal: 0, // 开始值endVal: [3000, 5000, 10000], // 结束值 -- 可以写成动态的duration: 3, // 跳动时长 - 单位:秒decimals: 0, // 小数点位数countUps: [] as Array<ICountUp> | [], // 跳动的对象数组options: {// 配置分隔符separator: '❤️'} as CountUpOptions
})const onInit = (ctx: ICountUp) => {data.countUp = ctxconsole.log(`开始`, ctx)
}
const onFinished = () => {console.log('结束')
}
const { endVal, duration, decimals, options } = toRefs(data)onMounted(async () => {// onInit()// onFinished()
})
</script><style lang="less" scoped>
.body {.box {display: flex;justify-content: flex-start;.count {font-size: 20px;font-weight: bold;margin: 0 30px;}}
}
</style>

效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/486519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序生命周期解析(从概念、启动、运行、销毁到生命周期事件及场景的全面解析)

引言 在当今移动应用激烈竞争的时代&#xff0c;小程序作为一种轻量级、高效便捷的移动应用形式&#xff0c;逐渐成为用户和开发者的热门选择。小程序不仅以其小巧灵活的体积受到用户喜爱&#xff0c;更因为无需安装、即点即用的特性在移动应用领域取得了广泛的普及。随着小程…

MySQL运维实战(7.2) MySQL复制server_id相关问题

作者&#xff1a;俊达 主库server_id没有设置 主库没有设置server_id Got fatal error 1236 from master when reading data from binary log: Misconfigured master - server_id was not set主库查看server_id mysql> show variables like server_id; ----------------…

用友NC65与用友NCC对接集成NC65-凭证列表查询打通凭证新增

用友NC65与用友NCC对接集成NC65-凭证列表查询打通凭证新增 数据源平台:用友NC65 用友NC是为集团与行业企业提供的全线管理软件产品&#xff0c;由亚太本土最大的企业管理软件提供商用友公司研发提供&#xff0c;用友NC率先采用J2EE架构和先进开放的集团级开发平台UAP&#xff0…

【MATLAB源码-第144期】基于matlab的蝴蝶优化算法(BOA)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 ​蝴蝶优化算法&#xff08;Butterfly Optimization Algorithm, BOA&#xff09;是基于蝴蝶觅食行为的一种新颖的群体智能算法。它通过模拟蝴蝶个体在寻找食物过程中的嗅觉导向行为以及随机飞行行为&#xff0c;来探索解空间…

链表之“无头单向非循环链表”

目录 ​编辑 1.顺序表的问题及思考 2.链表 2.1链表的概念及结构 2.2无头单向非循环链表的实现 1.创建结构体 2.单链表打印 3.动态申请一个节点 3.单链表尾插 4.单链表头插 5.单链表尾删 6.单链表头删 7.单链表查找 8.单链表在pos位置之前插入x 9.单链表删除pos位…

入门Web自动化测试之Selenium+Python基础方法封装

之前我们讲过元素定位的配置管理&#xff0c;这一篇我们来学习封装内容。 封装 既然选择了Python这门语言来实现Web自动化&#xff0c;那我们就不得不讲到一个重要的概念&#xff0c;那就是面向对象编程理念中的封装。 就字面意思来理解的话&#xff0c;就像是把各种物品放入…

素数筛法详解:埃氏筛和欧拉筛

素数筛法详解&#xff1a;埃氏筛和欧拉筛-CSDN博客https://blog.csdn.net/GD_ONE/article/details/104660294/?ops_request_misc&request_id&biz_id102&utm_term%E5%9F%83%E5%BC%8F%E7%AD%9B%E6%B3%95&utm_mediumdistribute.pc_search_result.none-task-blog-…

【知识整理】Git Commit Message 规范

一. 概述 前面咱们整理过 Code Review 一文&#xff0c;提到了 Review 的重要性&#xff0c;已经同过gitlab进行CodeReview 的方式&#xff0c;那么本文详细说明一下对CodeReivew非常重要的Git Commit Message 规范。 我们在每次提交代码时&#xff0c;都需要编写 Commit Mes…

Docker容器故障排查与解决方案

Docker是一种相对使用较简单的容器&#xff0c;我们可以通过以下几种方式获取信息&#xff1a; 1、通过docker run执行命令&#xff0c;或许返回信息 2、通过docker logs 去获取日志&#xff0c;做有针对性的筛选 3、通过systemctl status docker查看docker服务状态 4、通过…

Redis 事务机制之ACID属性

事务属性 事务是对数据库进行读写的一系列操作。在事务执行时提供ACID属性保证&#xff1a; 包括原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;和持久性&#xff08;Durability&#xff09;…

mysql-多表查询-内连接

一、简介 MySQL中的内连接&#xff08;INNER JOIN&#xff09;是一种多表查询的方式&#xff0c;它返回两个表中满足连接条件的记录。这意味着&#xff0c;只有当一个记录在两个表中都存在时&#xff0c;它才会出现在结果集中。 二、内连接查询语法 &#xff08;1&#xff0…

如何使用ChatGPT创建一份优质简历

目录 第一步&#xff1a;明确目标和重点 第二步&#xff1a;与ChatGPT建立对话 第三步&#xff1a;整理生成的内容 第四步&#xff1a;注重行文风格 第五步&#xff1a;强调成就和量化结果 第六步&#xff1a;个性化和定制 第七步&#xff1a;反复修改和完善 总结 在现…