利用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学习2 选择器的使用说明
Feb 07 Javascript
Javascript 设计模式(二) 闭包
May 26 Javascript
jquery 元素相对定位代码
Oct 15 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
javascript常用正则表达式汇总
Jul 31 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
Sep 06 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
Sep 13 Javascript
countUp.js实现数字动态变化效果
Oct 17 Javascript
JavaScript中的相等操作符使用详解
Dec 21 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 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
PHP EOT定界符的使用详解
2008/09/30 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
很好用的js日历算法详细代码
2013/03/07 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中的面向对象编程详解(下)
2015/04/13 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
python 解决函数返回return的问题
2020/12/05 Python
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
物业管理求职自荐信
2013/09/25 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
行政副总岗位职责
2014/02/23 职场文书
天猫活动策划方案
2014/08/21 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
五四青年节活动总结
2015/02/10 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书