@msdoc11

Как поправить анимацию числа на js?

Этот код в самом верху
let currentDataSum = null;
let duration = 4000;


Данный код вызывается каждые 15 сек для проверки изменения числа
var dataSum = data.test; Вытаскиваю с апи нужное число
 if (currentDataSum !== dataSum) {
      animateNumber(currentDataSum, dataSum, duration);
      currentDataSum = dataSum;
}


Сам код анимации. Так же там добавляется активный класс для дополнительной анимации в css, пока что происходит анимация на js
function animateNumber(start, end, duration) {
            const increment = (end - start) / (duration / 16);

            let current = start;
            const animation = setInterval(() => {
                current += increment;
                element.innerHTML = Math.floor(current);
                if (current >= end) {
                    clearInterval(animation);
                    element.innerHTML = end;
                    elementClass.classList.remove("active");
                } else {
                    elementClass.classList.add("active");
                }
            }, 16);
        }


Анимация срабатывает только кода новое число больше предыдущего, но если меньше, то анимации нет и происходит просто резкая замена числа. Как исправить?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы