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 相关文章推荐
Javascript中的delete介绍
Sep 02 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
nginx部署访问vue-cli搭建的项目的方法
Feb 12 Javascript
React组件内事件传参实现tab切换的示例代码
Jul 04 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
vue实现简单数据双向绑定
Apr 28 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实现修改新闻时删除图片的方法
2015/05/12 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python encode和decode的妙用
2009/09/02 Python
Python实现批量下载图片的方法
2015/07/08 Python
Python复制文件操作实例详解
2015/11/10 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Python检查ping终端的方法
2019/01/26 Python
Python list运算操作代码实例解析
2020/01/20 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
python re模块和正则表达式
2021/03/24 Python
写给女生的道歉信
2014/01/08 职场文书
班级聚会策划书
2014/01/16 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书