2016-04-29 111 views
0

我正在尝试创建一个全局页面,它只是更改内容而不是完全加载新页面。 当我尝试在home.php页面上调用loadPage函数时,它只是告诉我loadPage函数没有被定义。 的问题是,我认为,该函数具有当新的内容被加载到被重新建立......jQuery全局加载页面问题

全球网页代码(HTML):

<!-- Please note: this is the part that loads the page, and displays the loading image --> 
<script type="text/javascript" src="jQuery/jQuery.js"></script> 
<script type="text/javascript" src="js/loadPage.js"></script> 
<link type="text/css" rel="stylesheet" href="css/style-loading.css"> 
<img class="loading-img" src="images/loading.gif"> 
<!-- End of note --> 
<!doctype html> 
<html> 
</html> 

页面加载代码(JS):

//Copyright © 2016 Dynavio Cooperative 
var currentPage = null; 
$(document).ready(function() 
{ 
    loadPage(); 
}); 
function loadPage(pageToLoad) 
{ 
    $(".loading-img").removeAttr("style"); 
    if(typeof pageToLoad == "undefined") 
    { 
     if(currentPage == null) 
     { 
      $("html").load("pages/home.php", function() 
      { 
       $(".loading-img").css("display", "none"); 
      }); 
     } 
    } 
    else 
    { 
     $("html").load(pageToLoad, function() 
     { 
       $(".loading-img").css("display", "none"); 
     }); 
    } 
} 

home.php代码(HTML):

<!-- Copyright © 2016 Dynavio Cooperative --> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<meta name="description" content="Dynavio"> 
<meta name="keywords" content="Dynavio,Cooperative,Administration"> 
<meta name="author" content="Dynavio Cooperative"> 
<title>Dynavio - Homepage</title> 
<!-- Css styles --> 
<link type="text/css" rel="stylesheet" href="css/plugins/font-awesome-4.6.1/css/font-awesome.min.css"> 
<link type="text/css" rel="stylesheet" href="css/style-main-global.css"> 
<link type="text/css" rel="stylesheet" href="css/style-fonts.css"> 
<link type="text/css" rel="stylesheet" href="css/style-navbar.css"> 
<link type="text/css" rel="stylesheet" href="css/style-slider.css"> 
<!-- End of Css styles --> 
<script type="text/javascript" src="jQuery/plugins/Slides-SlidesJS-3/source/jquery.slides.min.js"></script> 
<script type="text/javascript" src="js/sliderInit.js"></script> 
<!-- Javascript --> 
</head> 

<body> 
<div class="navbar"> 
    <img src="images/logo.png" class="nav-logo"> 
    <ul class="nav-items"> 
     <li class="nav-item active">Homepage</li> 
     <li class="nav-item">Products</li> 
     <li class="nav-item">Company</li> 
     <li class="nav-item">Research</li> 
     <li class="nav-item">Contact</li> 
     <li class="nav-item" onClick="loadpage(pages/login.php);">Login</li> 
    </ul> 
</div> 
<div class="intro-slider slider"> 
    <img src="images/example1.png"> 
    <img src="images/example2.png"> 
</div> 
<div class="products"> 

</div> 
</body> 
<!-- Copyright © 2016 Dynavio Cooperative --> 
+0

该函数不需要重新创建。在你的home.php文件中,你是否在加载JS文件之前或之后调用函数?如果你在加载文件之前调用函数,那么它将是未定义的。由于这看起来像你的HTML的结束,我想你不得不加载你的JS上面的函数调用。 – JeremyS

+0

或者,也许问题是,我实际上重新链接home.php中的jquery文件 – Jojo01

+0

你在哪里调用实际调用Home.php中的loadPage()函数?我没有看到上面的代码。你也加载jQuery文件两次?我也没有看到。 – JeremyS

回答

0

原来的问题是因为函数名称区分大小写...

0

。在你的HTML的一个问题。我知道那个代码只是你的代码的一部分,但doctype定义应该总是在第一行。

然后,我看不到<html>标签打开。我希望它在你的代码的其他部分。

+0

我试过了,没有修复它 – Jojo01

+0

你可以试试其他标签。我的意思是,你不会取代HTML标签,但你可以替换一个孩子,例如身体 –

+0

我添加了我的home.php代码 – Jojo01