Задать вопрос

Как сделать анимацию нецелого числа?

$(window).scroll(startCounter);
function startCounter() {
    if ($(window).scrollTop() > 200) {
        $(window).off("scroll", startCounter);
        $('.Count').each(function () {
            var $this = $(this);
            jQuery({ Counter: 0 }).animate({ Counter: $this.text() }, {
                duration: 1000,
                easing: 'swing',
                step: function () {
                    $this.text(Math.ceil(this.Counter));
                }
            });
        });
    }
}

Этот код создает анимацию: стоит у вас целое число, например, 100, то оно будет перебираться от 1 до 100 (1,2,3 и тд).

Но, если стоит нецелое число, то оно автоматически округляется. Как сделать, чтобы не было этого округления?
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
kholmukhamedovme
@kholmukhamedovme
Программист-инженер
Нужно убрать Math.ceil, функцию округления. Но этого будет недостаточно, нужно определить шаг. Ведь с целыми числами всего один шаг от 0 до 1, а с нецелыми числами такое не прокатит: от 0 до 1 можно дойти и за 10, и за 100, и за ∞ шагов.

Пример счетчика от 0 до 100 длительностью в 1 000 миллисекунд с шагом (увеличением) на 0,1
duration: 1000,
...
step: function (now) {
    $this.text(now.toFixed(2));
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:22
5000 руб./за проект
18 дек. 2024, в 11:57
500 руб./в час