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

数字滚动变化-指令形式

话不多说,直接上代码

<template><divv-data-scroll="{target: 100speed: 1000}">100</div> 
</template><script setup lang="ts">
import { DirectiveBinding } from 'vue';function dataScroll(el: HTMLElement, binding: DirectiveBinding) {// mounted 时,binding.oldValue 为 undefinedlet origin = binding.oldValue?.target || 0;let {target,speed} = binding.value;// 目标值与原值一样则不进行任何操作if (origin === target) return// 计算每次改变的值let difNumber = (target - origin) / speed * 10;// 恢复为原来的值,不恢复的话会闪一下el.innerText = origin;let timer = setInterval(() => {if (origin + difNumber < target) {origin += difNumber} else {origin = target;clearInterval(timer);}el.innerText = origin.toFixed(0);}, 10)
}const VDataScroll =  {mounted(el: HTMLElement, binding: DirectiveBinding) {dataScroll(el, binding)},updated(el: HTMLElement, binding: DirectiveBinding) {dataScroll(el, binding)}
}
</script>
http://www.lryc.cn/news/107317.html

相关文章:

  • LNMP搭建及论坛搭建
  • 小程序商品如何开启秒杀?
  • vue 标题文字字数过长超出部分用...代替 动态显示
  • DAY2,C高级(shell脚本的使用)
  • maven中的properties标签
  • [openCV]基于拟合中线的智能车巡线方案V2
  • 软件测试环境讲解
  • mysql 面试
  • linux 安装FTP
  • 软考高项(六)项目管理概述 ★重点集萃★
  • 【vue】组件使用教训
  • 2023年华数杯数学建模B题思路代码分析 - 不透明制品最优配色方案设计
  • 百度飞桨助力高校培养AI大模型人才,2023年飞桨产学合作项目申报启动
  • 【NLP概念源和流】 02-稠密文档表示(第 2/20 部分)
  • 同构多核架构(SMP)和异构多核架构(AMP)
  • 【网络基础进阶之路】一文弄懂TCP的三次握手与四次断开
  • VUE框架、UNIAPP框架:vue2转vue3全面细节总结(1)vue框架:路由模式、路由跳转;uniapp框架:存储数据写法、引入数据写法;
  • GIS在地质灾害危险性评估与灾后重建中的应用教程
  • leetcode----JavaScript 详情题解(3)
  • PGsql-安装
  • 数据结构----c语言复习
  • 网络安全公司校招面试会面试那些问题?
  • vue element el-upload附件上传、在线预览、下载当前预览文件
  • 设计模式九:组合模式(Composite Pattern)
  • 【COlor传感器】通过扰动调制光传感实现智能光传输的占用分布估计研究(Matlab代码实现)
  • 微服务系列<3>---微服务的调用组件 rpc 远程调用
  • P1558 色板游戏
  • 大数据概论
  • 数据库访问中间件--springdata-jpa的基本使用
  • c++游戏制作指南(二):制作一个炫酷的启动界面(c++绘图)