2014-11-03 25 views
0

我是一个非常新的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> 

回答

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

谢谢!这清除了解析错误。任何想法为什么代码仍然没有运行? – 2014-11-03 12:31:01

0

看着这个会以后,我发现: 1.我从来不叫我的功能“nextchar”因此,绝然。傻我。 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> 
相关问题