数字动画效果:countup.js和vue-countupjs的使用

一、countup.js

1、下载

  npm i countup.js@1.9.3  (最新版本的有问题)

2、DOM

    <div class="num-wrapper">
      <span ref="countupRef" v-for="item in numList" :key="item">{{item}}</span>
    </div>

  css:

复制代码
  .num-wrapper {
    > span {
      padding: 10px;
      display: inline-block;
      background-color: rgba(red, 0.5);
      margin-right: 10px;
      font-family: 'digital';
      font-size: 28px;
    }
  }
复制代码

3、引入和使用

复制代码
import CountUp from 'countup.js'
export default {
  data() {
    return { numList: [7539810.1493, 7087961, 1010452, 5163393] }
  },
  methods: {
    initCountUp() {
      // 在created中执行函数时需要通过nextTick拿到最新的DOM
      this.$nextTick(() => {
        const countupLength = this.$refs.countupRef.length
        let animal = null
        for (let i = 0; i < countupLength; i++) {
          animal = new CountUp(
            this.$refs.countupRef[i], // 目标元素
            0, // 开始值
            this.$refs.countupRef[i].innerText, // 结束值
            2, // 小数位数
            1.5 // 动画时间
          )
          animal.start()
        }
      })
    }
  },
  created() {
    this.initCountUp()
  }
复制代码

4、效果:

  

 

 

 

二、vue-countupjs

1、下载

  npm i vue-countupjs

2、引入并注册

import VueCountUp from 'vue-countupjs'
  components: { VueCountUp }

3、使用

    <VueCountUp :start-value="0" :end-value="100" />

 

posted @   吴小明-  阅读(1633)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示