利用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 相关文章推荐
Javascript的IE和Firefox兼容性汇编(zz)
Feb 02 Javascript
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
详解vue-cli官方脚手架配置
Jul 20 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
Aug 23 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
详解如何运行vue项目
Apr 15 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 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 采集程序中常用的函数
2009/12/09 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
关于php中一些字符串总结
2016/05/05 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
Python入门之三角函数全解【收藏】
2017/11/08 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
JS原生实现轮播图的几种方法
2021/03/23 Javascript
优秀党支部书记事迹材料
2014/05/29 职场文书
质量负责人任命书
2014/06/06 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
大一新生检讨书
2014/10/29 职场文书