Не перебирается цикл, а работает последний элемент.Срабатывает счетчик при загрузке и скроле только для 6 (последнего) элемента

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div class="my-skills mt-2">
      <div class="html"><span>99</span></div>
      <div class="html"><span>50</span></div>
      <div class="html"><span>75</span></div>
      <div class="html"><span>41</span></div>
      <div class="html"><span>5</span></div>
      <div class="html"><span>20</span></div>
      <div class="html"><span>30</span></div>
      <div class="html"><span>7</span></div>
    </div>
    <script
      src="https://code.jquery.com/jquery-3.5.1.js"
      integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
      crossorigin="anonymous"
    ></script>
    <script>
     /*Счетчик */
$(document).ready(function(){
   let a = 0;
   for(i=0;i<6;i++){
     a++;
     console.log(a);
      var txt = parseInt(document.querySelector('.html:nth-child('+a+')  span').innerText); //Получаем  элемент
let blockTop = $(".html").offset().top, // Получаем отступ блока
  wh = window.innerHeight, // Высота видимой части
  flag = true, // Флаг активации
  counter = (_) => {
    if (counter._count > txt) {
      // Если счёт дошёл до нужного, то
      $('.html:nth-child('+a+')  span').text(txt); // Сбросим
      flag = !flag; // Всё
      return; // И выходим
    }

    $('.html:nth-child('+a+')  span').text(counter._count++); // Иначе делаем что нужно

    setTimeout(counter, 500); // И ставим таймер на следующую итерацию
  };

counter._count = 0;
$(document).ready((_) => {
  flag = !flag;
  counter();
});
  $(window).scroll((_) => {
  // Слушаем скролл окна
  if (flag && blockTop < $(window).scrollTop() + wh) {
    // Если флаг позволяет запустить таймер и скролл дошёл
    flag = !flag; // Меняем доступность флага (чтобы каждый раз не запускался счётчик и не навешал сотню таймеров)
    counter._count = 0;
    counter(); // Запускаем что надо
  }
}); }



})
    </script>
  </body>
</html>

Ответы (0 шт):