Jquery错误"你是未定义的"

Ser*_*gio 0 php jquery

为什么我在Firebug中出现错误"你是未定义的"?

我的页面包含一个照片和照片库的显示,作为PHP代码中使用"break"划分的一个特殊单独部分.

使用"Fancybox.js"显示照片和照片库.

我第一次尝试打开照片时,一切正常,但是当我刷新页面后再次执行此操作时,Firebug显示错误"u is undefined".

我正在使用的菜单的Jquery显示页面的这些单独部分:

$(document).ready(function(){

$(".menu_rfr").bind('click', function() {
$("#main").html('<img src="img/spin.gif" class="spin">');
location.replace($(this).attr('rel'));

});

$(".menu_clickable").bind('click', function() {
$("#main").html('<img src="img/spin.gif" class="spin">');
$("#main").load($(this).attr('rel'), function(event) {

});        
$(".menu_clickable").unbind("click");

});

});
Run Code Online (Sandbox Code Playgroud)

简化的PHP代码如下所示:

<?
if (!isset($a)) $a = '';
switch($a)
{
case 1:
default:
?>
<div class="menu_clickable prof_link" id="prof_info" rel="?a=2">Photos</div>
<div class="menu_clickable prof_link" id="prof_info" rel="?a=3">Gallery</div> 
<div id="main"></div>    
<?
break;//photos
case 2:
?>
<script type="text/javascript"> 

$("a.group").fancybox({
'titlePosition'     : 'over',
'overlayShow':false
 });
 </script>
 <?
 <a href="1.jpg" id="group" class="group"><img src="tmb/1.jpg" border="0"></a>
 <?
 break;
 case 3: // photo gallery 
 ?>
<script type="text/javascript"> 

$("a.groupg").fancybox({
'titlePosition'     : 'over',
'overlayShow':false
 });
 </script>
 <?
 <a href="2.jpg" id="groupg" class="groupg"><img src="tmb/2.jpg" border="0"></a>
 <?
 break;
 }
 ?>
Run Code Online (Sandbox Code Playgroud)

正如我所说,这是一个简化的代码,可能还有一些错误.我只想表明我在哪里以及如何使用Fancybox.

在页面顶部的菜单的jquery代码和fancybox之间是否存在冲突,或者在打开PHP页面的其他部分之后,还有一些其他原因导致我在Firebug中出现错误"u is undefined"试图重新开放照片?

Pet*_*ner 5

查看您的HTML源代码并确保您没有声明两次FancyBox.我刚刚在firebug中弹出了完全相同的错误,这是我在源代码中找到的:

<script language="javascript" type="text/javascript" src="./ext_scripts/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.pack.js"></script>

<link rel="stylesheet" href="./ext_scripts/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.css" type="text/css" media="screen" />  
<script language="javascript" type="text/javascript" src="./ext_scripts/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.pack.js"></script>
Run Code Online (Sandbox Code Playgroud)

不知道为什么会发生这种情况,但是如果你在PHP中嵌入了include和require_onces,就像我不幸一样,你可以得到一些非常时髦的Javascript引用.