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 相关文章推荐
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
小议javascript 设计模式 推荐
Oct 28 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
js实现进度条的方法
Feb 13 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
jquery easyUI中ajax异步校验用户名
Aug 19 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
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的curl实现get和post的代码
2008/08/23 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
python实现简单socket通信的方法
2016/04/19 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
django序列化serializers过程解析
2019/12/14 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
求职者简历中的自我评价
2013/10/20 职场文书
党章学习思想汇报
2014/01/14 职场文书
仓库组长岗位职责
2014/01/29 职场文书
自我评价的范文
2014/02/02 职场文书
学生期末评语大全
2014/04/30 职场文书
还款承诺书范文
2014/05/20 职场文书
小学国庆节活动总结
2015/03/23 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript