利用JS实现数字增长


Posted in Javascript onJuly 28, 2016

上次在项目中碰到要实现数字增长的效果,实现数字从0到目标数的增长,来看看效果图

利用JS实现数字增长

现在把它扩展开来可以实现不同效果

利用JS实现数字增长

主要思路就两部分

    1.每隔三个数字之间加上,

    2.实现动起来

对于1使用正则来完成十分的方便

this.fomatNum = function(num) {
      var str = num.toFixed(this.option.decimal);//精确到小数位数多少位
      var num1, x1, x2, reg;
      arr = str.split(".");
      x1 = arr[0];
      x2 = arr.length > 1 ? '.' + arr[1] : "";
      reg = /(\d+)(\d{3})/;
      if (this.option.isfomat) {
        while (reg.test(x1)) {
          x1 = x1.replace(reg, '$1' + "," + "$2");
        }
      }
      if (this.option.isfomat) {
        return this.option.prefix + x1 + x2;
      } else {
        return this.option.prefix + str;
      }
    }

要实现加起来的效果可以使用requestAnimationFrame方法,然后处理一下兼容就可以了。

var change = function() {
  var p = Math.min(1.0, (new Date().getTime() - that.startTime) / that.option.duration);//当前时间减去开始时间,然后除以总时间,Math.min,两个数取最小值。
  var nums = that.num * p;
  that.elm.innerHTML = that.fomatNum(that.num * p);
  if (p < 1.0) {//
     requestAnimationFrame(function() {
        change();
     });
   } else {
        cancelAnimationFrame(change);
       }
  }
  requestAnimationFrame(function() {
     change();
   });

如果要实现数字在可视区再动起来的效果,可以自己监听dom是否在可视区然后调用。

以上就是本文的全部内容,如果有疑问欢迎大家留言探讨,也谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
react-router实现按需加载
May 09 Javascript
JavaScript实现图片切换效果
Aug 12 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
JavaScript实现简单计算器功能
Dec 19 Javascript
Node.js实现断点续传
Jun 23 Javascript
灵活使用数组制作图片切换js实现
Jul 28 #Javascript
AngularJS 中文API参考手册
Jul 28 #Javascript
AngularJS 简单应用实例
Jul 28 #Javascript
AngularJS 路由详解和简单实例
Jul 28 #Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 #Javascript
AngularJS中实现动画效果的方法
Jul 28 #Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
Jul 28 #Javascript
You might like
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
javascript 简练的几个函数
2009/08/29 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
python中如何使用虚拟环境
2020/10/14 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
TCP/IP模型的分界线
2012/12/01 面试题
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
办公室主任先进事迹
2014/01/18 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
mysql 子查询的使用
2022/04/28 MySQL