打字机从文本文件看

时间:2014-11-03 06:11:17

标签: javascript timeout

我是一个非常新的Javascript人,他第一次尝试为页面编写(而不是复制)代码。简单地说,我希望阅读一个文本文件,然后在已创建的div中一次显示一个字符。 'get'软件很好,数据变量接收字符串,但是,当执行时,我从浏览器得到一个'Line 1'输入错误。可能有10件事情我会如何处理,但欢迎任何方向。

enter code here

<div id='textelement' style="width:400px; height:200px ;overflow:auto"></div>
<script type="text/javascript">
$.get("Comments.txt", function (data) 
{
    var displaytxt = "";
    displaytxt = data;
    function nextchar () 
        {
        if (displaytxt.length > 0) 
            {
            $('#textelement').append(displaytxt.substr(0, 1));
            displaytxt = displaytxt.substr(1);
            setTimeout(nextchar, 70);
            }
        }
    }
</script>

2 个答案:

答案 0 :(得分:0)

有一件事你没有正确地逃避你的职能。

<script type="text/javascript">
$.get("Comments.txt", function (data) 
{
    var displaytxt = "";
    displaytxt = data;
    function nextchar () 
        {
        if (displaytxt.length > 0) 
            {
            $('#textelement').append(displaytxt.substr(0, 1));
            displaytxt = displaytxt.substr(1);
            setTimeout(nextchar, 70);
            }
        }
 }).fail(function (xhr, status, error) {
                alert(error);
 });
</script>

答案 1 :(得分:0)

看了一会儿后我发现: 我从未打电话给我的函数&#39; nextchar&#39;因此它永远不会跑。傻我。 2. setTimeout需要一个使用函数(){}的奇怪语法才能传递参数。这是为什么?

以下代码现在适用于我。

格雷格

<script type="text/javascript">
function nextchar(displaytxt) {
    if (displaytxt.length > 0) {
        $('#textelement').append(displaytxt.substring(0, 1));
        displaytxt = displaytxt.substr(1);
        setTimeout(function () { nextchar(displaytxt); }, 70);
    }
}
$.get("PatientComments.txt", function (data) {
    var displaytxt = "";
    displaytxt = data;
    alert(displaytxt);
    nextchar(displaytxt);
}).fail(function (xhr, status, error) {
    alert(error);
});
</script>