首页 前端知识 vue3数字滚动动画

vue3数字滚动动画

2025-03-04 11:03:47 前端知识 前端哥 640 579 我要收藏

效果
在这里插入图片描述

1.新建组件countTo.vue

<template>
    <span>
        {
   {
    state.displayValue }}
    </span>
</template>

<script setup>
import {
    onMounted, onUnmounted, reactive, watch, computed } from "vue";
import {
   
    requestAnimationFrame,
    cancelAnimationFrame,
} from "./animationFrame.js";

const props = defineProps({
   
    //开始数字
    start: {
   
        type: Number,
        required: false,
        default: 0,
    },
    //结束数字
    end: {
   
        type: Number,
        required: false,
        default: 888,
    },
    //持续时间
    duration: {
   
        type: Number,
        required: false,
        default: 5000,
    },
    //自动开始
    autoPlay: {
   
        type: Boolean,
        required: false,
        default: true,
    },
    //小数点
    decimal: {
   
        type: String,
        required: false,
        default: ".",
    },
    //千分位间隔符
    separator: {
   
        type: String,
        required: false,
        default: ",",
    },

    //前缀
    prefix: {
   
        type: String,
        required: false,
        default: "",
    },
    //后缀
    suffix: {
   
        type: String,
        required: false,
        default: "",
    },
    //是否使用速度曲线变化
    useEasing: {
   
        type: Boolean,
        required: false,
        default: true,
    },
    //变化使用的函数
    easingFn: {
   
        type: Function,
        default(t, b, c, d) {
   
            return (c * (-Math.pow(2, (-10 * t) / d)   1) * 1024) / 1023   b;
        },
    },
    //保留几位小数
    default: {
   
        type: Number,
        required: false,
        default: 0,
    },

});

const isNumber = (val) => {
   
    return !isNaN(parseFloat(val));
};

// 格式化数据,返回想要展示的数据格式
const formatNumber = (val) => {
   
    if (props.default) {
   
        val = val.toFixed(props.default);
        val  = '';
        const x 
转载请注明出处或者链接地址:https://www.qianduange.cn//article/22577.html
标签
评论
发布的文章

图论-腐烂的橘子

2025-03-04 11:03:06

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!