2014-11-03 24 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> 
相關問題