JavaScript создает эффект печати - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь создать эффект печати с помощью текста, распознаваемого в реальном времени.Я использую socket.io для передачи голосовых данных от сервера.

socket.on('transcription', data => {
  var finalDiv = document.getElementById('final_span');
  var text_area = document.getElementById('results')
  finalDiv.innerHTML = "";
  typeWriter(data, finalDiv);
  results.scrollTop = results.scrollHeight;
});
function typeWriter(data1, add_to) {
  var i = 0;
  var speed = 50;
  if (i < data1.length) {
    add_to.innerHTML += data.charAt(i);
    i++;
    setTimeout(typeWriter(data1, add_to), speed);
  }
}

Каждый раз, когда из бэкэнда поступает некоторый текст, коды должны печатать текст в finalDiv.innerHTML с введенной анимацией.Но когда я запускаю коды, выдает ошибку «данные не определены».Что здесь не так?

Спасибо за ваше время и помощь.

1 Ответ

2 голосов
/ 25 сентября 2019
function typeWriter(data1, add_to)

typeWriter определяет data1 в качестве аргумента первого аргумента, но

add_to.innerHTML += data.charAt(i);

Вы используете data для захвата символов.Измените это на data1.

...