首页 > 解决方案 > JavaScript 创建打字效果

问题描述

我正在尝试使用一些实时语音识别文本来创建打字效果。我正在使用 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 并带有输入的动画。但是当我运行代码时,它会产生“数据未定义”的错误。这里有什么问题?

感谢您的时间和帮助。

标签: javascripthtmlhtml5-audio

解决方案


function typeWriter(data1, add_to)

typeWriter定义data1为第一个参数参数,但

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

你是用data来抓人物的。将其更改为data1.


推荐阅读