forked from aishek/jquery-animateNumber
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.animateNumber.min.js
8 lines (8 loc) · 1.37 KB
/
jquery.animateNumber.min.js
1
2
3
4
5
6
7
8
/*
jQuery animateNumber plugin v0.0.7
(c) 2013, Alexandr Borisov.
https://github.com/aishek/jquery-animateNumber
*/
(function(d){if(!d.Tween||!d.Tween.propHooks)throw Error("jquery.animateNumber requires jQuery 1.8.0 or higher");var h=function(a){return a.split("").reverse().join("")},k={numberStep:function(a,b){var e=Math.floor(a);d(b.elem).text(e)}};d.Tween.propHooks.number={set:function(a){if(a.elem.nodeType&&a.elem.parentNode){var b=a.elem._animateNumberSetter;b||(b=k.numberStep);b(a.now,a)}}};d.animateNumber={numberStepFactories:{append:function(a){return function(b,e){var g=Math.floor(b);d(e.elem).prop("number",
b).text(g+a)}},separator:function(a,b){a=a||" ";b=b||3;return function(e,g){var c=Math.floor(e).toString(),r=d(g.elem);if(c.length>b){for(var n=c.split("").reverse(),f=[],l,p,m,q=0,k=Math.ceil(c.length/b);q<k;q++){l="";for(m=0;m<b;m++){p=q*b+m;if(p==c.length)break;l+=n[p]}f.push(l)}c=h(f[f.length-1]);f[f.length-1]=h(parseInt(c).toString());c=f.join(a);c=h(c)}r.prop("number",e).text(c)}}}};d.fn.animateNumber=function(){for(var a=arguments[0],b=d.extend({},k,a),e=d(this),g=[b],c=1,h=arguments.length;c<
h;c++)g.push(arguments[c]);if(a.numberStep){var n=this.each(function(){this._animateNumberSetter=a.numberStep}),f=b.complete;b.complete=function(){n.each(function(){delete this._animateNumberSetter});f&&f.apply(this,arguments)}}return e.animate.apply(e,g)}})(jQuery);