0

我一直在制作一个有很多页面的网站。因此决定将导航栏放在一个单独的 php 文件中,以减少所有这些页面在更改时的返工。所以在我的index.php我已经包括了导航栏,如:

<?php include 'navbar.php'; ?>

navbar.php 看起来像:

<div id="nav"> 
<ul>
<li pg="#home" >home</li>
<li pg="#pack" >packages</li>
<li pg="#about" >about</li>
</ul> 
</div>

在 index.php 中,我有一个 javascript onClick 函数来<li>从导航栏中选择:

<script type="text/javascript">
var oldpg = "#home";
$(document).ready(function() {
$('#nav ul li').click(function() {
//here are the codes to hide/show divs });

});
</script>

但是当你点击那些<li>没有任何反应。我认为 js 没有从 php.ini 中获取元素。如何在单独的 php 文件中引用这些元素?

4

4 回答 4

0

使用on并尝试。未经测试,但这可能是这里的问题。尝试

$(document).ready(function() {
 $(document).on('click', '#nav ul li', function(e) {
  //Your code
 });
});

还要确保您包含jQuery

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
于 2013-08-06T18:04:51.173 回答
0

您向我们展示的代码是正确的。只要div确实显示了带有 id "nav" 的内容,请确保正确包含jQuery库。如果是,则您的错误必须存在于您click 事件处理程序$.click(in //here are the codes to hide/show divs)中所做的任何事情中。

于 2013-08-06T18:10:24.080 回答
0

你需要修复你的 JavaScript:

$(document).ready(function() {
  $('#nav ul li').click(function() {
  //here are the codes to hide/show divs });

  });
}); // you left off this closing

您可以使用 Chrome DevTools 或 Firebug 来查看控制台。

于 2013-08-06T18:14:28.883 回答
0

感谢您回复@Retsam @Campari @Chris @Ankit

正如@Retsam 所说,我尝试使用 Chrome 控制台并发现错误是 Uncaught reference error: $ not defined(Firebug 控制台没有给出任何错误/消息)原因是我在与 jQuery 库链接之前放置了我的代码。所以我移动了我的

<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>

上面的onClick功能,它的工作。

傻我...

多谢你们

于 2013-08-07T02:47:15.863 回答