Как перезапустить функцию заново?

Рейтинг: -2Ответов: 1Опубликовано: 17.01.2023

Подскажите пожалуйста как возобновлять функцию заново каждые 3s без перезагрузки страницы? Сейчас текст печатается просто дальше, а нужно что-бы текст удалился и заново напечатался. Не судите строго, я еще не опытен в js. Спасибо

function typingText() {
  var text = "5495 2673 9172 3317";
  var delay = 60; // cкорость
  var elem = document.getElementById("result");

  var print_text = function(text, elem, delay) {
if (text.length > 0) {
  elem.innerHTML += text[0];
  setTimeout(
    function() {
      print_text(text.slice(1), elem, delay);
    }, delay
  );
}
  }
  print_text(text, elem, delay);
}

setInterval(typingText, 3000);
typingText();
<span id="result"></span>

Ответы

▲ 0Принят

Для удаления текста можно присвоить пустую строку

elem.innerHTML = '';

function typingText() {
  var text = "5495 2673 9172 3317";
  var delay = 60; // cкорость
  var elem = document.getElementById("result");

  var print_text = function(text, elem, delay) {
    if (text.length > 0) {
      elem.innerHTML += text[0];
      setTimeout(
        function() {
          print_text(text.slice(1), elem, delay);
        }, delay
      );
    }
  }
  elem.innerHTML = '';
  print_text(text, elem, delay);
}

setInterval(typingText, 3000);
typingText();
<span id="result"></span>