问题
我构建了一个单页网站,在JavaScript中运行一堆计算, 获取输入值和/或用户输入值并将总和返回给它的指定输入(用于总和输出)。但是,在客户查看了UI后,他们认为将单页网站分成不同的页面是有意义的。
我的努力
我想只要我将脚本标签包含在新页面中,我所要做的就是从单个页面中删除部分并将其粘贴到它应该正常工作的新页面中?好吧,我在浏览器中运行页面,我得到NAN错误,我在线寻找解决方案,但没有找到。任何帮助将不胜感激
典型的HTML输入
<tr>
<td class="input_gray">0.00015</td>
<td><input class="input_green custom_Default" id="pipeRoughness" type="number" data-value="0.00015" value="0.00015">
</td>
<td>Feet</td>
<td>Pipe Roughness</td>
</tr>
典型的JavaScript函数
var eD = function() {
var val1 = siDin();
var val2 = parseFloat($('#pipeRoughness').val());
var val3 = val2 / 3.28;
var total = val3 / val1;
$('#eDCalc').val(total);
return total;
};
eD();
我的脚本标签顺序
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="js/calc.js"></script>
<script src="js/manualEntryCalculations.js"></script>
<script src="js/classie.js"></script>
答案 0 :(得分:1)
我怀疑问题在于这一行:var val1 = siDin();
将JavaScript拆分为多个文件时,siDin()
函数可能会移出范围。您可以通过在var eD = function() {
行上方粘贴该函数并查看调用是否结算来对此进行测试。
要解决此问题,请确保包含function siDin(){}
的文件包含var eD = function()
之前包含siDin
的文件。
此外,您还需要确保RootX
|- Node1
|- Node1.1
|- Node1.1.1
|- Node1.1.1.1 - DataXYZ
|- Node1.1.1.2
|- Node1.1.1.3 - DataABC
|- Node1.2
|- Node1.2.1
|- Node1.2.1.1
|- Node2
|- Node2.1
|- Node2.1.1
|- Node2.1.1.1
RootY
|- Node3
|- Node3.1
|- Node3.1.1
|- Node3.1.1.1 - DataHIJ
|- Node3.1.2
|- Node3.1.2.1
具有全局范围(这是确保函数对调用者可见的最简单但可能不是最好的方法)。