$e
— jQuery элемент (объект) внутрь которого будет добавляться текст с числом.
from
— начальное число (с которого начать отсчет)
to
— конечное число (на котором остановить счетчик)
duration
— время в миллисекундах, за которое нужно дойти до конечного числа (если не указано — смена числа будет происходить каждый 50 миллисекунд)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function animateCount($e, from, to, duration) { if (from === to) return; if ($e.hasClass('_counted')) return; let current = from, interval = duration ? Math.abs(Math.floor(duration / (to - from))) : 50, timer; $e.addClass('_counted'); timer = setInterval(function() { current += (to > from ? 1 : -1); $e.text(current); if (current == to) { clearInterval(timer); } }, interval); } |