JavaScript打字机和基础知识的问题

时间:2013-07-30 09:49:21

标签: javascript html

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。

2 个答案:

答案 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的第一个参数。

DEMO

答案 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);
}

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