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

数字增加变化到目标数值动画,js实现

 

html 

    <div id="sup6"><div class="top-title"><div class="title">服务规模</div><p class="text">SCALE OF SERVICE</p></div><div class="list flex-cc wrap w1400"><div class="li"><div class="num"><span>10000</span>+</div><div class="text">付费用户</div></div><div class="li"><div class="num"><span>5000</span>+</div><div class="text">科研视频课程</div></div><div class="li"><div class="num"><span>40</span>+</div><div class="text">行业资质认证</div></div><div class="li"><div class="num"><span>1000</span>+</div><div class="text">高校院所</div></div><div class="li"><div class="num"><span>50</span>+</div><div class="text">技术工程师</div></div><div class="li"><div class="num"><span>200</span>+</div><div class="text">科研应用软件</div></div><div class="li"><div class="num"><span>30</span>万核+</div><div class="text">自建算力资源</div></div><div class="li"><div class="num"><span>500</span>+</div><div class="text">企业用户</div></div></div></div>

css 

  #sup6 {height: 689px;background: url("/assets/image/supercomputing/supercomputing2.png")no-repeat;background-size: 100% 100%;.list {gap: 40px 100px;padding: 0px 50px;.li {background: url("/assets/image/supercomputing/box.png") no-repeat;background-size: 100% auto;width: 200px;height: 200px;text-align: center;position: relative;&:nth-child(2n) {transform: translateY(20px);}&::before {content: "";position: absolute;bottom: -20px;left: 50%;transform: translateX(-50%);width: 91px;height: 8px;background: #a8daf5;border-radius: 50%;filter: blur(.5rem);}.num {font-size: 40px;font-weight: bold;color: #c4302c;margin-top: 60px;}.text {font-size: 20px;font-weight: 500;color: #606266;}}}}

jq 

  // 动画效果只执行一次let isAnimated = true;// 滚动监听$(window).scroll(function () {// 服务规模数字变化if ($(this).scrollTop() >= 3800 &&window.location.pathname == "/page/supercomputing.html" &&isAnimated) {isAnimated = false;const $spans = $("#sup6 .list .li .num span");let duration = 2000; // 动画持续时间(毫秒)$spans.each(function () {let $span = $(this);let target = parseInt($span.text()); // 获取页面目标值$span.text(0); // 初始显示为 0let startTime = null;function animate(timestamp) {if (!startTime) startTime = timestamp;let progress = timestamp - startTime;let percentage = Math.min(progress / duration, 1);let value = Math.floor(percentage * target);if (value > target) value = target;$span.text(value);if (progress < duration) {requestAnimationFrame(animate);}}requestAnimationFrame(animate);});}});

 

 

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

相关文章:

  • 2025年-ClickHouse 高性能实时分析数据库(大纲版)
  • cha的操作
  • 最新Amos 29下载及详细安装教程,附免激活中文版Amos安装包
  • Nature Communications:复杂光下多维视觉信息处理,利用时间演变的环境极化敏感神经突触器件
  • 基于Docker的GPU版本飞桨PaddleOCR部署深度指南(国内镜像)2025年7月底测试好用:从理论到实践的完整技术方案
  • JavaScript 中 let 在循环中的作用域机制解析
  • 【深度学习新浪潮】Claude code是什么样的一款产品?
  • swiper.js实现名录上下滚动
  • Python 条件分支与循环详解--python004
  • 【Agent】API Reference Manual(API 参考手册)
  • 【Spring AI详解】开启Java生态的智能应用开发新时代(附不同功能的Spring AI实战项目)
  • 手写A2C(FrozenLake环境)
  • 牛客刷题记录01
  • 【C++】二叉搜索数
  • 流式接口,断点续传解决方案及实现
  • QKV 为什么是三个矩阵?注意力为何要除以 √d?多头注意力到底有啥用?
  • 【PyTorch】图像多分类项目
  • jwt 在net9.0中做身份认证
  • qt框架,使用webEngine如何调试前端
  • 开发笔记 | 优化对话管理器脚本与对话语音的实现
  • 13.使用C连接mysql
  • Jenkins中出现pytest: error: unrecognized arguments: --alluredir=report错误解决办法
  • 栈----1.有效的括号
  • 机器学习 KNN 算法,鸢尾花案例
  • 从Taro的Dialog.open出发,学习远程控制组件之【事件驱动】
  • C++ 多线程同步机制详解:互斥锁、条件变量与原子操作
  • Python Multiprocessing 进程池完全教程:从理论到实战
  • 数据结构(3)单链表
  • [尚庭公寓]14-找房模块
  • Canal 1.1.7的安装