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 相关文章推荐
JavaScript随机排序(随即出牌)
Sep 17 Javascript
IE 当eval遇上function的处理
Aug 09 Javascript
最短的javascript:地址栏载入脚本代码
Oct 13 Javascript
运算符&amp;&amp;的三个不同层次
Apr 07 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
纯JS实现表单验证实例
Dec 24 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
JS实现队列的先进先出功能示例
May 10 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
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
星际中的相关伤害
2020/03/04 星际争霸
php zend 相对路径问题
2009/01/12 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
python在不同条件下的输入与输出
2020/02/13 Python
从python读取sql的实例方法
2020/07/21 Python
家电业务员岗位职责
2014/03/10 职场文书
物业保安员岗位职责
2014/03/14 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
python 单机五子棋对战游戏
2022/04/28 Python