Как сделать для каждого элемента функцию?

Сейчас счетчик запускается при загрузке страницы и последующем скролле.Но я не могу сделать к каждому спан свой счетчик. Побовал forEach , не получается

<!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>
          const txt = parseInt(document.querySelector(".html span").innerText); //Получаем первый элемент
          let blockTop = $(".html").offset().top, // Получаем отступ блока
            wh = window.innerHeight, // Высота видимой части
            flag = true, // Флаг активации
            counter = (_) => {
              if (counter._count > txt) {
                // Если счёт дошёл до нужного, то
                $(".html span").text(0); // Сбросим
                flag = !flag; // Всё
                return; // И выходим
              }

              $(".html 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(); // Запускаем что надо
            }
          });
        </script>
      </body>
    </html>

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