var index = 0;
var text = 'Hello.';
function type()
{
document.getElementById('screen').innerHTML += text.charAt(index);
index += 1;
var t = setTimeout('type()',50);
document.getElementById("choice").innerHTML="<p>Hi</p>";
}
我正在尝试这种打字机的想法,但我想在打字机完成它之后打印一个句子(不是打字机样式)。如果这是一个非常基本的问题,我很抱歉,我刚开始使用JavaScript。
答案 0 :(得分:1)
您需要测试是否已到达text
:
function type() {
if (index < text.length) {
document.getElementById('screen').innerHTML += text.charAt(index);
index++;
setTimeout(type, 50);
} else {
document.getElementById('choice').innerHTML = '<p>Hi</p>';
}
}
最好提供一个函数而不是字符串作为setTimeout
的第一个参数。
答案 1 :(得分:0)
试试这个:
var index = 0;
function typer() {
var text = 'Hello';
if (text.charAt(index) != '') {
document.getElementById('screen').innerHTML += text.charAt(index);
} else {
document.getElementById("choice").innerHTML = "<p>Hi</p>";
}
index++;
var t = setTimeout('typer()', 100);
}