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 に答える