Я работаю над проектом, в котором хочу добавить анимированный числовой счетчик jQuery от нуля до процентного значения - анимация Javascript на странице результатов, значения являются динамическими из базы данных?
function timer() {
if (animator.curPercentage < animator.targetPercentage) {
animator.curPercentage += 1;
} else if (animator.curPercentage > animator.targetPercentage) {
animator.curPercentage -= 1;
}
$(animator.outputSelector).text(animator.curPercentage + "%");
if (animator.curPercentage != animator.targetPercentage) {
setTimeout(timer, animator.animationSpeed)
}
}
function PercentageAnimator() {
this.animationSpeed = 50;
this.curPercentage = 0;
this.targetPercentage = 0;
this.outputSelector = ".countPercentage";
this.animate = function(percentage) {
this.targetPercentage = percentage;
setTimeout(timer, this.animationSpeed);
}
}
var animator = new PercentageAnimator();
animator.curPercentage = 40;
animator.animate(70);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="countPercentage">98%</span>
<span class="countPercentage">92%</span>
<span class="countPercentage">12%</span>
<span class="countPercentage">67%</span>
Проблема в том, что функция jQuery PercentageAnimator
работает, но только до 70?
Как получить динамическое значение каждого класса countPercentage
в animator.animate(70)
вместо 70
Полный код Jsfiddle
https://jsfiddle.net/fdharsi/bx9pbLpd/10/
Проблема устранена. Здесь обновлен jsfiddle
https://jsfiddle.net/fdharsi/bx9pbLpd/11/