利用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 相关文章推荐
关于文本限制字数的js代码
Apr 02 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
Aug 12 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
[js高手之路]原型式继承与寄生式继承详解
Aug 28 Javascript
js实现1,2,3,5数字按照概率生成
Sep 12 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
Rust中的Struct使用示例详解
Aug 14 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无限遍历目录示例
2014/02/21 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
php strftime函数的详细用法
2018/06/21 PHP
28个JS验证函数收集
2010/03/02 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
Python创建文件和追加文件内容实例
2014/10/21 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Django异步任务线程池实现原理
2019/12/17 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
C++的几个面试题附答案
2016/08/03 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
21岁生日感言
2014/02/27 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
解除劳动合同协议书
2014/09/17 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
职代会闭幕词
2015/01/28 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
TS 类型兼容教程示例详解
2022/09/23 Javascript