jquery.animateNumber.min.js
2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
jQuery animateNumber plugin v0.0.10
(c) 2013, Alexandr Borisov.
https://github.com/aishek/jquery-animateNumber
*/
(function (d) {
var p = function (b) {
return b.split("").reverse().join("")
}, l = {numberStep: function (b, a) {
var e = Math.floor(b);
d(a.elem).text(e)
}}, h = function (b) {
var a = b.elem;
a.nodeType && a.parentNode && (a = a._animateNumberSetter, a || (a = l.numberStep), a(b.now, b))
};
d.Tween && d.Tween.propHooks ? d.Tween.propHooks.number = {set: h} : d.fx.step.number = h;
d.animateNumber = {numberStepFactories: {append: function (b) {
return function (a, e) {
var k = Math.floor(a);
d(e.elem).prop("number", a).text(k + b)
}
}, separator: function (b, a) {
b = b || " ";
a =
a || 3;
return function (e, k) {
var c = Math.floor(e).toString(), s = d(k.elem);
if (c.length > a) {
for (var f = c, g = a, l = f.split("").reverse(), c = [], m, q, n, r = 0, h = Math.ceil(f.length / g); r < h; r++) {
m = "";
for (n = 0; n < g; n++) {
q = r * g + n;
if (q === f.length)break;
m += l[q]
}
c.push(m)
}
f = c.length - 1;
g = p(c[f]);
c[f] = p(parseInt(g, 10).toString());
c = c.join(b);
c = p(c)
}
s.prop("number", e).text(c)
}
}}};
d.fn.animateNumber = function () {
for (var b = arguments[0], a = d.extend({}, l, b), e = d(this), k = [a], c = 1, h = arguments.length; c < h; c++)k.push(arguments[c]);
if (b.numberStep) {
var f =
this.each(function () {
this._animateNumberSetter = b.numberStep
}), g = a.complete;
a.complete = function () {
f.each(function () {
delete this._animateNumberSetter
});
g && g.apply(this, arguments)
}
}
return e.animate.apply(e, k)
}
})(jQuery);