0
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。

4

2 回答 2

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.

演示

于 2013-07-30T10:10:23.313 回答
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);
}

小提琴:http: //jsfiddle.net/PjTm8/1/

于 2013-07-30T10:16:20.917 回答