Javascript 将单页网站拆分为多页网站时出现NAN错误

Javascript 将单页网站拆分为多页网站时出现NAN错误,javascript,jquery,html,Javascript,Jquery,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>P

问题

 <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>
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();
我建立了一个单页网站,用JavaScript运行一系列计算, 获取输入值和/或用户输入值,并将总和返回到指定的输入(用于总和输出)。但是,在客户查看UI后,他们认为将单个页面站点拆分为不同页面是有意义的

我的努力
我想,只要我在新页面中包含脚本标记,我所要做的就是从单个页面中剪切出部分内容,然后粘贴到新页面中,应该可以正常工作了吧?嗯,我在浏览器中运行了该页面,但出现了一个错误,我在网上寻找了一个解决方案,但没有找到。任何帮助都将不胜感激

典型的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>
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>

我怀疑问题出在这一行:
var val1=siDin()

将JavaScript拆分为多个文件时,
siDin()
函数可能已移出范围。您可以通过将该函数粘贴到
var eD=function(){
行的正上方并查看调用是否解析来测试这一点

要解决此问题,请确保包含
function siDin(){}
的文件包含在包含
var eD=function()
的文件之前

您还需要确保siDin具有全局作用域(这是确保函数对调用方可见的最简单但可能不是最好的方法)