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 相关文章推荐
Internet Explorer 11 浏览器介绍:别叫我IE
Sep 28 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
简单谈谈json跨域
Mar 13 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
Jun 13 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
Bootstrap CSS组件之导航条(navbar)
Dec 17 Javascript
angular directive的简单使用总结
May 24 Javascript
vue组件学习教程
Sep 09 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
解决vue 表格table列求和的问题
Nov 06 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
在JavaScript中如何使用宏详解
May 06 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函数utf8转gb2312编码
2006/12/21 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
springboot+vue实现文件上传下载
2020/11/17 Vue.js
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
python Django批量导入不重复数据
2016/03/25 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
python取均匀不重复的随机数方式
2019/11/27 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python 异步async库的使用说明
2020/05/04 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
Python tkinter实现日期选择器
2021/02/22 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
美国最大的团购网站:Groupon
2016/07/23 全球购物
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
励志演讲稿600字
2014/08/21 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
教师节主题班会方案
2015/08/17 职场文书
学校运动会开幕词
2016/03/03 职场文书