javascript - 如何将数组获取到另一个函数,以便将其显示到另一个 div 中

标签 javascript

我正在阅读这个文本文件...我将其读入数组。

fields[0]是术语 fields[1]是定义和 fields[2]就是这个例子。

我试图将从文本文件中获取的数组传递到另一个函数中,以便我可以在另一个函数中显示定义和示例 <div> 。这是我的代码:

 <html>
 <head>
     <!--<input type="file" id="fileinput" /> -->
     <script type="text/javascript">
         var xmlhttp = new XMLHttpRequest();
         xmlhttp.onreadystatechange = function allText()
         {
             if (xmlhttp.status == 200 && xmlhttp.readyState == 4)
             {
                 var inputText = xmlhttp.responseText;  // the whole text file being stored in a variable
                 var lines = inputText.split('\n');  // splitting the whole file into manageable rows using \n
                 var allMainText = "";  // declaring a variable for use later
                 for (var i = 0; i < lines.length; i++) // creating a for loop
                 {
                     var fields = lines[i].split('||');  // this is where the separation between tag, definition and example happens
                     // fields 0 is the tag itself
                     // fields 1 is the definition
                     // fields 2 is the example
                     var oneLine = '<a href = "#' + fields[0]
                                 + ' "   onclick="testFunction();"> '
                                 + '&lt;' 
                                 + fields[0]
                                 + '&gt;'
                                 + ' </a> ||';
                     allMainText += oneLine;  // += means that things can be added as the loop executes
                 }
                 document.getElementById("menu").innerHTML = allMainText;  // allMainText is displayed in the "main" div
             }
         }

         function testFunction (fields, oneLine)
         {
             var defandExample = fields[1] + '<br/>' + fields[2]; 
             document.getElementById("defandexample").innerHTML = defandExample;
         }

         xmlhttp.open("GET", "everythingtext.txt", true);  // getting the actual .txt file to be used
         xmlhttp.send();
     </script>
     <link rel="stylesheet" type="text/css" href="css/everythinghtmldynamize.css">
     <link href="https://fonts.googleapis.com/css?family=Abril+Fatface|Raleway" rel="stylesheet">
</head>
<body>
    <div id="menu"> yo </div>
    <div id="defandexample"></div>   
</body>
</html>

最佳答案

在声明“xmlhttp”变量后立即声明变量“fields”和“oneLine”,使它们成为全局作用域。

关于javascript - 如何将数组获取到另一个函数,以便将其显示到另一个 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42463908/

相关文章:

javascript - 时间到期时调用操作方法

javascript - 有没有办法将外部 Javascript 作为 Jasmine 的来源?

javascript - 如何在按钮单击 React.js 时运行警报

javascript - Phonegap 忽略空全局对象

javascript - 使用javascript验证html中的输入文本字段

javascript - 解析云代码 - 添加到数组

javascript - 为什么 PopUp Modal Bootstrap 没有出现在 Angular 4 中

javascript - 如何让动画 Sprite 的 Alpha channel 透明?

javascript - 不使用 lodash 差异删除重复项

javascript - AngularJS:无法实例化我自己的模块