Задать вопрос
SlavaMaxwell
@SlavaMaxwell
Frontend разработчик

Как увеличить скорость набора цифр в два или более раз(а)?

Есть код, который при скроле стартует и с нуля до энного количества числа увеличевается за 100 милисек, за счет i++ то есть увеличивается на 1 раз, как увеличить скорость со 100милисек но в 2 или более раз(а)?
let number = document.querySelectorAll('.js-number')

for (let i = 0; i < number.length; i++) {
  const element = number[i];
  let	numberTop = element.getBoundingClientRect().top
  let  start = +element.innerHTML, end = +element.dataset.max

  window.addEventListener('scroll', function onScroll() {
		if(window.pageYOffset > numberTop - window.innerHeight / 2) {
        this.removeEventListener('scroll', onScroll);
        
        var interval = setInterval(function() {
          element.innerHTML = ++start;
            if(start == end) {
            		clearInterval(interval);
            }
        }, 100);
    }
});
}
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Magneto903
Код ниже ускорит набор цифр в 2 раза путём снижения времени задержки с 100ms до 50ms (в 2 раза)
let number = document.querySelectorAll('.js-number')

for (let i = 0; i < number.length; i++) {
  const element = number[i];
  let	numberTop = element.getBoundingClientRect().top
  let  start = +element.innerHTML, end = +element.dataset.max

  window.addEventListener('scroll', function onScroll() {
    if(window.pageYOffset > numberTop - window.innerHeight / 2) {
        this.removeEventListener('scroll', onScroll);
        
        var interval = setInterval(function() {
          element.innerHTML = ++start;
            if(start == end) {
            		clearInterval(interval);
            }
        }, 50);
    }
});
}


Просто во втором параметре setInterval() указываете время между итерациями в милисекундах
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽