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

Problems with JavaScript typwriter and basics

本文关键字:问题 基础知识 打字机 JavaScript      更新时间:2023-09-26
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。

你需要测试你是否已经到达了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的第一个参数。

演示

试试这个:

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/