js实现数字跳动到指定数字


Posted in Javascript onAugust 25, 2020

本文实例为大家分享了js实现数字跳动到指定数字的具体代码,供大家参考,具体内容如下

运行结果如下:

js实现数字跳动到指定数字

<!DOCTYPE html>
 <head>
 <title>js实现数字跳动到指定数字</title>
 <style>
  h1 {font-size: 150px;text-align:center;}
  p {text-align:center;}
  button {font-size:40px;}
 </style>
 </head>
 <body>
 <h1 id="number">0</h1>
 <p>
  <button onclick="start()">开始计数</button>
 </p>
 </body>
 <script>
 /*
 * startNum 代表要跳动的初始数字
 * targetNum 代表要跳动到的数字
 * time  代表要跳动需要花费的时间
 * selector 代表要跳动元素的选择器
 */
 const $setJumpNumber = (startNum, targetNum, time = 1, selector) => {
  let dom = document.querySelector(selector);
  let originNum = startNum;
  let stepNum = 0;
  let timeNum = time; 
  dom.innerHTML = startNum;
 
  let timeId = setInterval(() => {
  if (originNum < targetNum) {
   timeNum -= 0.001;
   let strNum = originNum.toString();
   // 数字比较少的时候直接用 + 1; 数字很大直接 +1 要很久才能调到最对应的数字,所有后三位数随机跳动的方式进行模拟生成
   if (targetNum.toString().length < 6) {
   stepNum += 1; // 这样才可以实现越跳越快的效果
   originNum = originNum + stepNum;
   dom.innerHTML = originNum;
   } else {
   stepNum += 500; // 这样才可以实现越跳越快的效果
   originNum = originNum + stepNum;
   dom.innerHTML = strNum.substr(0, strNum.length - 3) + Math.floor(Math.random()*10) + Math.floor(Math.random()*10) + Math.floor(Math.random()*10);
   }
  } else {
   dom.innerHTML = targetNum;
   clearInterval(timeId);
  }
  }, timeNum);
 };
 
 function start () {
  $setJumpNumber(11, 218983423, 1, 'h1');
 };
 
 </script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。 

Javascript 相关文章推荐
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
详解如何在Angular中快速定位DOM元素
May 17 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
基于Vue实现拖拽功能
Jul 29 Javascript
浅入深出Vue之自动化路由
Aug 06 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 Javascript
js实现div色块拖动录制
Jan 16 Javascript
小程序点餐界面添加购物车左右摆动动画
Sep 23 Javascript
js实现点击选项置顶动画效果
Aug 25 #Javascript
理解JavaScript中的对象
Aug 25 #Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 #Javascript
node.js基础知识汇总
Aug 25 #Javascript
基于JS实现快速读取TXT文件
Aug 25 #Javascript
Vue实现简单的拖拽效果
Aug 25 #Javascript
浅谈JavaScript节流和防抖函数
Aug 25 #Javascript
You might like
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
一道关于php变量引用的面试题
2010/08/08 PHP
PHP的加密方式及原理
2012/06/14 PHP
CI框架常用方法小结
2016/05/17 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
js实现右键菜单功能
2016/11/28 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python实现查找系统盘中需要找的字符
2015/07/14 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
Python中单、双下划线的区别总结
2017/12/01 Python
基于python实现名片管理系统
2018/11/30 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
区域销售主管岗位职责
2014/06/15 职场文书
淘宝活动总结范文
2014/06/26 职场文书
党员检讨书
2014/10/13 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
python pyhs2 的安装操作
2021/04/07 Python