好吧,我不喜欢上面的任何代码。一旦到达输入文本的末尾,您的原始代码也不会停止运行,我不相信任何其他建议的解决方案也不会停止。
这是一个用纯 JS 重写的函数:
function type(i, t, ie, oe) {
input = document.getElementById(ie).innerHTML;
document.getElementById(oe).innerHTML += input.charAt(i);
setTimeout(function(){
((i < input.length - 1) ? type(i+1, t, ie, oe) : false);
}, t);
}
你可以这样称呼它:
type(0, 100, "text", "screen");
参数为:beginning index
, speed
, input element
,output element
您的 HTML 将如下所示:
<div id="screen"></div>
<div id="text" style="display:none">Hello Bobby</div>
只要您相应地更新参数,您就可以将 div 重命名为您喜欢的任何名称。我敢肯定还有一种更简单的方法来编写它,但我最喜欢这种方法。
演示
function type(i, t, ie, oe) {
input = document.getElementById(ie).innerHTML;
document.getElementById(oe).innerHTML += input.charAt(i);
setTimeout(function(){
((i < input.length - 1) ? type(i+1, t, ie, oe) : false);
}, t);
}
type(0, 100, "text", "screen");
<div id="screen"></div>
<div id="text" style="display:none">Hello Bobby</div>