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类后台管理菜单类-MenuSwitch
Sep 12 Javascript
JsDom 编程小结
Aug 09 Javascript
javascript loadScript异步加载脚本示例讲解
Nov 14 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
浅谈JavaScript中的Math.atan()方法的使用
Jun 14 Javascript
js学习笔记之事件处理模型
Oct 31 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
详解vue移动端项目的适配(以mint-ui为例)
Aug 17 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
vue3获取当前路由地址
Feb 18 Vue.js
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也可以?成Shell Script
2006/10/09 PHP
基于empty函数的判断详解
2013/06/17 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python selenium如何设置等待时间
2016/09/15 Python
Python优先队列实现方法示例
2017/09/21 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
国贸专业自荐信范文
2014/03/02 职场文书
出纳担保书范文
2014/04/02 职场文书
供货协议书
2014/04/22 职场文书
总结python多进程multiprocessing的相关知识
2021/06/29 Python
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
Pygame Event事件模块的详细示例
2021/11/17 Python
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL
python实现手机推送 代码也就10行左右
2022/04/12 Python