0

我正在构建一个提供旅行方向的动态网站,但我是 JavaScript 新手,我不确定最好的编码方式。

目前,我通过为每个元素设置单独的 HTML 页面来加载网站的不同部分(页眉、主页面、页脚),然后将这些页面加载到主页中。例如,在主页上我有:

<body onload="initialize()">
   <div id="header"></div>
   <div id="main"></div>
   <div id="footer"></div>
</body>

在导入的 JavaScript 脚本中,我有:

function initialize() 
{
   $('#header').load('header.html');
   $('#main').load('main.html');
   $('#footer').load('footer.html');
}

问题是我希望所有这三个导入页面都可以访问单个 JavaScript 文件中的全局变量和函数,我将在其中存储路线信息、坐标等。具体来说,我遇到了无法调用从已加载到父页面的 header.html 页面中的主 JS 脚本中的函数。

做这个的最好方式是什么?任何帮助深表感谢!

4

3 回答 3

2

您应该有一个js包含所有客户端代码的文件,并将其包含在带有<script>标签的页面上。然后使用$( document ).ready()运行您的初始化。您还可以在此处定义全局变量并分配它们,以便以后可以访问它们。

在您的 JavaScript 中包含将是这样的;

var $header, $main, $footer

function initialize() 
{
   $header.load('header.html');
   $main.load('main.html');
   $footer.load('footer.html');
}

$(document).ready(function() {
  $header = $('#header');
  $main = $('#main');
  $footer = $('#footer');

  initialize();
});

请注意您创建的全局变量的数量;你犯的 11 个 JavaScript错误

于 2013-03-11T02:23:03.170 回答
0

您是否尝试将其放在函数外部以使其成为全局...

var <variable name>
function <function_name>{

<variable name>

}
于 2013-03-11T01:59:31.163 回答
0

在主页中。

<script type="text/javascript">
    variable = <value>;   //variable used with var keyword is considered as global variable
</script>
于 2013-03-11T02:01:25.787 回答