jquery.countup.js
Version:
Jquery Counter plugin.
1 lines • 1.05 kB
JavaScript
!function(t){"use strict";t.fn.countUp=function(e){var n=t.extend({time:2e3,delay:10},e);return this.each(function(){var e=t(this),a=n,u=function(){var t=[],n=parseInt(e.data("counter-time"))>0?parseInt(e.data("counter-time")):a.time,u=parseInt(e.data("counter-delay"))>0?parseInt(e.data("counter-delay")):a.delay,r=n/u,o=e.text(),c=/[0-9]+,[0-9]+/.test(o);o=o.replace(/,/g,"");for(var d=(/^[0-9]+$/.test(o),/^[0-9]+\.[0-9]+$/.test(o)),s=d?(o.split(".")[1]||[]).length:0,i=r;i>=1;i--){var p=parseInt(Math.round(o/r*i));if(d&&(p=parseFloat(o/r*i).toFixed(s)),c)for(;/(\d+)(\d{3})/.test(p.toString());)p=p.toString().replace(/(\d+)(\d{3})/,"$1,$2");t.unshift(p)}e.data("counterup-nums",t),e.text("0");var f=function(){e.text(e.data("counterup-nums").shift()),e.data("counterup-nums").length?setTimeout(e.data("counterup-func"),u):(delete e.data("counterup-nums"),e.data("counterup-nums",null),e.data("counterup-func",null))};e.data("counterup-func",f),setTimeout(e.data("counterup-func"),u)};e.waypoint(u,{offset:"100%",triggerOnce:!0})})}}(jQuery);