Если вы прокрутите вниз до ticker
и дождитесь завершения 16000, снова прокрутите вверх и дождитесь завершения 16000, а затем снова вернетесь, это сработает.
Код абсолютно правильный, кроме этоголиния const initial = $(this).text()
. Вы используете сам текст элемента span, чтобы получить максимальное число счетчиков.
Когда вы выполняете слишком быструю прокрутку, код устанавливает любое значение, присутствующее в элементе span, на максимальный счетчик. Вот почему вы получаете проводное поведение.
Пожалуйста, перепишите ваш код обработчика, как этот
$(document).ready(function () {
var initialValue = $('#ticker .count').text()
$('#ticker').waypoint({
handler: function () {
$('.count').each(function () {
const format = formatter(initialValue)
$(this).prop('Counter', 0).animate({
Counter: format.value
}, {
duration: 1500,
easing: 'swing',
step: function (now) {
$(this).text(format.revert(Math.ceil(now)));
}
});
});
},
offset: '100%'
});
})