@seregindev

Как избавиться от NaN в анимированном счётчике?

Доброго времени суток! Не могу никак разобраться с проблемой. На сайте реализовал счётчик, который срабатывает при скроле, когда элемент попадает в поле видимости, скрипт срабатывает.
Он обнуляет значение элементов, а потом возвращает их в своё изначальное состояние.
Суть проблемы, у меня имеется элемент, который имеет на конце знак "%".
И когда срабатывает скрипт, элемент принимает значение NaN.
Нужно что-бы когда срабатывал счётчик, оставался элемент "%"
Буду очень благодарен за помощь!
Код скрипта:
$("#layers-widget-column-10 h5").each( function() {
$(this).prop('Counter', 0).animate({
Counter: $(this).text()
}, {
     duration: 1500,
      easing: 'swing',
       step: function(now) {
               $(this).text(Math.ceil(now));   
                    }
            })
})

5f60df3a3cf94e568288a2a6cebaec76.png6fdd729a455b40ee9dca41410402d5d9.png
  • Вопрос задан
  • 351 просмотр
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Проблема в том, что вы в плагин передаёте уже не нормальное число, а строку с процентом. А он такую ситуацию, видимо, обрабатывать не обучен.
Проблему легко решить, если сконвертировать содержимое тега в число:
$(this).prop('Counter', 0).animate({
  Counter: parseInt($(this).text(), 10)
})
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
строку 20 так записать:
$(this).text(isNaN(now)?"":Math.ceil(now))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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