Нет описания

jquery.countUp.min.js 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ! function(t) {
  2. "use strict";
  3. t.fn.countUp = function(e) {
  4. var a = t.extend({
  5. time: 2e3,
  6. delay: 10
  7. }, e);
  8. return this.each(function() {
  9. var e = t(this),
  10. n = a,
  11. u = function() {
  12. e.data("counterupTo") || e.data("counterupTo", e.text());
  13. var t = parseInt(e.data("counter-time")) > 0 ? parseInt(e.data("counter-time")) : n
  14. .time,
  15. a = parseInt(e.data("counter-delay")) > 0 ? parseInt(e.data("counter-delay")) : n
  16. .delay,
  17. u = t / a,
  18. r = e.data("counterupTo"),
  19. o = [r],
  20. c = /[0-9]+,[0-9]+/.test(r);
  21. r = r.replace(/,/g, "");
  22. for (var d = (/^[0-9]+$/.test(r), /^[0-9]+\.[0-9]+$/.test(r)), s = d ? (r.split(".")[
  23. 1] || []).length : 0, i = u; i >= 1; i--) {
  24. var p = parseInt(Math.round(r / u * i));
  25. if (d && (p = parseFloat(r / u * i).toFixed(s)), c)
  26. for (;
  27. /(\d+)(\d{3})/.test(p.toString());) p = p.toString().replace(/(\d+)(\d{3})/,
  28. "$1,$2");
  29. o.unshift(p)
  30. }
  31. e.data("counterup-nums", o), e.text("0");
  32. var f = function() {
  33. e.text(e.data("counterup-nums").shift()), e.data("counterup-nums").length ?
  34. setTimeout(e.data("counterup-func"), a) : (delete e.data("counterup-nums"),
  35. e.data("counterup-nums", null), e.data("counterup-func", null))
  36. };
  37. e.data("counterup-func", f), setTimeout(e.data("counterup-func"), a)
  38. };
  39. e.waypoint(u, {
  40. offset: "100%",
  41. triggerOnce: !0
  42. })
  43. })
  44. }
  45. }(jQuery);