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 相关文章推荐
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 Javascript
Vuex模块化实现待办事项的状态管理
Mar 15 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
AngularJS改变元素显示状态
Apr 20 Javascript
通俗易懂地解释JS中的闭包
Oct 23 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
解决vue.js提交数组时出现数组下标的问题
Nov 05 Javascript
js实现可爱的气泡特效
Sep 05 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获取某个目录大小的代码
2008/09/10 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
php开发工具有哪五款
2015/11/09 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
AngularJS 应用模块化的使用
2018/04/04 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
Python反射用法实例简析
2017/12/22 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
numpy数组广播的机制
2019/07/12 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python连接mysql有哪些方法
2020/06/24 Python
用python批量下载apk
2020/12/29 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
软件测试英文面试题
2012/10/14 面试题
创先争优活动方案
2014/02/12 职场文书
2014年元旦感言
2014/03/06 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
唐山大地震观后感
2015/06/05 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
python中的getter与setter你了解吗
2022/03/24 Python
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers