Comparing version
@@ -9,76 +9,2 @@ /*! | ||
*/ | ||
(function( $ ){ | ||
"use strict"; | ||
$.fn.counterUp = function( options ) { | ||
// Defaults | ||
var settings = $.extend({ | ||
'time': 400, | ||
'delay': 10 | ||
}, options); | ||
return this.each(function(){ | ||
// Store the object | ||
var $this = $(this); | ||
var $settings = settings; | ||
var counterUpper = function() { | ||
var nums = []; | ||
var divisions = $settings.time / $settings.delay; | ||
var num = $this.text(); | ||
var isComma = /[0-9]+,[0-9]+/.test(num); | ||
num = num.replace(/,/g, ''); | ||
var isInt = /^[0-9]+$/.test(num); | ||
var isFloat = /^[0-9]+\.[0-9]+$/.test(num); | ||
var decimalPlaces = isFloat ? (num.split('.')[1] || []).length : 0; | ||
// Generate list of incremental numbers to display | ||
for (var i = divisions; i >= 1; i--) { | ||
// Preserve as int if input was int | ||
var newNum = parseInt(num / divisions * i); | ||
// Preserve float if input was float | ||
if (isFloat) { | ||
newNum = parseFloat(num / divisions * i).toFixed(decimalPlaces); | ||
} | ||
// Preserve commas if input had commas | ||
if (isComma) { | ||
while (/(\d+)(\d{3})/.test(newNum.toString())) { | ||
newNum = newNum.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2'); | ||
} | ||
} | ||
nums.unshift(newNum); | ||
} | ||
$this.data('counterup-nums', nums); | ||
$this.text('0'); | ||
// Updates the number until we're done | ||
var f = function() { | ||
$this.text($this.data('counterup-nums').shift()); | ||
if ($this.data('counterup-nums').length) { | ||
setTimeout($this.data('counterup-func'), $settings.delay); | ||
} else { | ||
delete $this.data('counterup-nums'); | ||
$this.data('counterup-nums', null); | ||
$this.data('counterup-func', null); | ||
} | ||
}; | ||
$this.data('counterup-func', f); | ||
// Start the count up | ||
setTimeout($this.data('counterup-func'), $settings.delay); | ||
}; | ||
// Perform counts when the element gets into view | ||
$this.waypoint(counterUpper, { offset: '100%', triggerOnce: true }); | ||
}); | ||
}; | ||
})( jQuery ); | ||
!function(t){"use strict";t.fn.counterUp=function(e){var n=t.extend({time:400,delay:10},e);return this.each(function(){var e=t(this),u=n,a=function(){var t=u.time/u.delay,n=e.attr("data-value"),a=[n],r=/[0-9]+,[0-9]+/.test(n);n=n.replace(/,/g,"");for(var o=(/^[0-9]+$/.test(n),/^[0-9]+\.[0-9]+$/.test(n)),c=o?(n.split(".")[1]||[]).length:0,d=t;d>=1;d--){var i=parseInt(n/t*d);if(o&&(i=parseFloat(n/t*d).toFixed(c)),r)for(;/(\d+)(\d{3})/.test(i.toString());)i=i.toString().replace(/(\d+)(\d{3})/,"$1,$2");a.unshift(i)}e.data("counterup-nums",a),e.text("0");var s=function(){e.text(e.data("counterup-nums").shift()),e.data("counterup-nums").length?setTimeout(e.data("counterup-func"),u.delay):(delete e.data("counterup-nums"),e.data("counterup-nums",null),e.data("counterup-func",null))};e.data("counterup-func",s),setTimeout(e.data("counterup-func"),u.delay)};e.waypoint(a,{offset:"100%",triggerOnce:!0})})}}(jQuery); |
{ | ||
"name": "counterup", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"title": "Counter-Up", | ||
@@ -5,0 +5,0 @@ "description": "A lightweight jQuery plugin that counts up to a targeted number when the number becomes visible.", |
23223
-6.09%54
-50%