利用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实现可编辑表格并用AJAX提交到服务器修改数据
Dec 27 Javascript
JavaScript 异常处理 详解
Feb 06 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
Apr 21 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
详解webpack babel的配置
Jan 09 Javascript
JS实现的汉字与Unicode码相互转化功能分析
May 25 Javascript
Vue2 监听属性改变watch的实例代码
Aug 27 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
vue修改Element的el-table样式的4种方法
Sep 17 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
数据库相关问题
2006/10/09 PHP
PHP strtotime函数详解
2009/12/18 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
php输出形式实例整理
2020/05/05 PHP
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
angular分页指令操作
2017/01/09 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
vue axios用法教程详解
2017/07/23 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
浅析Python requests 模块
2020/10/09 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
初一家长会邀请函
2014/01/31 职场文书
财经学院自荐信范文
2014/02/02 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
大学生就业意向书
2015/05/11 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书