js实现数字递增特效【仿支付宝我的财富】


Posted in Javascript onMay 05, 2017

上周五应着公司临时需求,一天的时间解决掉官网(ps:比较简单哈哈),需求里面有一个特效就是数字递增到指定的数值,其实JS写也不复杂的,但是我发现一个js小插件,这个插件轻巧简单,用起来也非常简单实用。在这里分享给小盆友们吧,喜欢的直接拿走。

js实现数字递增特效【仿支付宝我的财富】

上面就是这个插件的效果,我们来看一下怎么使用的吧

第一: HTML部分这里简单列举一个

<div class="counter col_fourth">
  <h2 class="timer count-title" id="count-number" data-to="300" data-speed="1500"></h2>
  <p class="count-text ">小月博客</p>
 </div>

上面我们来了解两个关键的东西:

  • data-to   这个属性控制你最终要递增的数值是多少
  • data-speed    这个看英文的意思就很清楚了就是表示数据递增的速度了

ps: 这里的class和id  根据大家各自的修改去调整就好了,

第二:JS部分也是插件的核心代码

$.fn.countTo = function(a) {
  a = a || {};
  return $(this).each(function() {
   var c = $.extend({},
   $.fn.countTo.defaults, {
    from: $(this).data("from"),
    to: $(this).data("to"),
    speed: $(this).data("speed"),
    refreshInterval: $(this).data("refresh-interval"),
    decimals: $(this).data("decimals")
   }, a);
  var h = Math.ceil(c.speed / c.refreshInterval),
  i = (c.to - c.from) / h;
  var j = this,
  f = $(this),
  e = 0,
  g = c.from,
  d = f.data("countTo") || {};
  f.data("countTo", d);
  if (d.interval) {
   clearInterval(d.interval)
  }
  d.interval = setInterval(k, c.refreshInterval);
  b(g);
  function k() {
   g += i;
   e++;
   b(g);
   if (typeof(c.onUpdate) == "function") {
    c.onUpdate.call(j, g)
   }
   if (e >= h) {
    f.removeData("countTo");
    clearInterval(d.interval);
    g = c.to;
    if (typeof(c.onComplete) == "function") {
     c.onComplete.call(j, g)
    }
   }
  }
  function b(m) {
   var l = c.formatter.call(j, m, c);
   f.html(l)
  }
 })
};
$.fn.countTo.defaults = {
  from: 0,
  to: 0,
  speed: 1000,
  refreshInterval: 100,
  decimals: 0,
  formatter: formatter,
  onUpdate: null,
  onComplete: null
};
function formatter(b, a) {
  return b.toFixed(2)
}
$("#count-number").data("countToOptions", {
  formatter: function(b, a) {
   return b.toFixed(2).replace(/\B(?=(?:\d{3})+(?!\d))/g, ",")
  }
});
$(".timer").each(count);
function count(a) {
  var b = $(this);
  a = $.extend({},
  a || {},
  b.data("countToOptions") || {});
  b.countTo(a)
};

以上就是代码的全部了,css部分就不在这里显示了,demo下载的小伙伴在下面点击下载吧!

其实这个插件可扩展性很大的,至于小伙伴喜欢什么样子的显示自己动手改造吧!

demo下载请点击

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
javascript JSON操作入门实例
Apr 16 Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 Javascript
jQuery.holdReady()方法用法实例
Dec 27 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
Sep 05 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
May 26 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
JavaScript时间戳与时间日期间相互转换
Dec 11 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 Javascript
react+antd 递归实现树状目录操作
Nov 02 Javascript
js和jquery中获取非行间样式
May 05 #jQuery
值得分享和收藏的xmlplus组件学习教程
May 05 #Javascript
微信小程序中多个页面传参通信的学习与实践
May 05 #Javascript
微信小程序 开发之全局配置
May 05 #Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 #jQuery
微信小程序 图片上传实例详解
May 05 #Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 #Javascript
You might like
mysql5详细安装教程
2007/01/15 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
浅析Python 多行匹配模式
2020/07/24 Python
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
品质主管岗位职责
2014/03/16 职场文书
同乡会致辞
2015/07/30 职场文书
Python Socket编程详解
2021/04/25 Python
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript