1Sergey1
@1Sergey1

Как анимировать цифры?

Добрый день, в блоке есть цена, при выборе разных чекбоксов она пересчитывается и вставляется в html
$($this).parents('.right_product').find('.new_price').html( price + ' руб.' );

Как можно анимировать цифры price, меняется как в большую сторону так и в меньшую и не мешает ли этому приставка "руб." или вынести её в статичный html? Заранее спасибо!
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Поможет jQuery.animate() – этим методом можно, в т.ч., абстрактное значение изменять от A до B. Примерно так:
$({ myProp: A }) // начальное значение A
  .animate(
    { myProp: B }, // целевое конечное значение B
    { // всякие опции анимации: время, функция на каждый шаг и т.п.
      step: function(now, tween) {  } // эта будет вызываться на каждом шаге анимации
    }
  );


Для вашей задачи пример (Fiddle):
const $price = $("#banner-message > p > span");

$("button").on("click", function(){
  const oldPrice = parseInt($price.text());
  const newPrice = Math.round(500 + Math.random() * 4500);
  $({price:oldPrice}).animate({price:newPrice}, {
    step: (now, tween) => $price.text(Math.round(tween.elem.price))
  });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SnaIP
@SnaIP
Front-end разработчик
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы