2011-07-05 82 views
0

我有我的网站藏汉作为收藏查询定制的jQuery。但似乎我无法同时工作。它总是他们的1个工作,这取决于他们在顺序上。继承人的代码2脚本打破

<script type="text/javascript" src="scripts/jquery.js"></script> 
<script type="text/javascript" src="scripts/jquery.lightbox-0.5.js"></script> 
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" /> 
<script type="text/javascript"> 
     $(function() { 
      $('a[@rel*=lightbox]').lightBox({ 
       maxHeight: screen.height * 0.6, 
       maxWidth: screen.width * 0.6 
      }); 
     }); 
</script> 
    <script type="text/javascript" src="./Scripts/jquery-1.3.2.js" ></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      /* Menu */ 
      $("#menu li:last").css("margin-right", "0"); 
      $("#menu ul.sub li:last").css("margin-right", "0"); 
      $("#menu li#menues a").hover(function() { 
       $(this).siblings(".sub").fadeIn(200); 
      }); 
      $("#menu").hover(function() { }, function() { 
       $(".sub").fadeOut(200); 
      }); 
     }); 
</script> 
+1

你为什么要包括的jQuery到您的网页两份? –

回答

1

你行:

$("#menu li#menues a").hover(function() { 
    $(this).siblings(".sub").fadeIn(200); 
}); 

采用单一参数呼吁hover()http://api.jquery.com/hover/#hover2

这是jQuery中添加1.4,并且使用的是1.3.2。

或者:

更新您的jQuery。


或者使用这两个参数功能:

$("#menu li#menues a").hover(function() { 
    $(this).siblings(".sub").fadeIn(200); 
}, null); 

这样的匿名函数将只对了mouseenter叫,如果你想让它呼吁鼠标离开改变则params的顺序。

如果你想让它淡入/淡出:

$("#menu li#menues a").hover(
    function() { 
     $(this).siblings(".sub").fadeIn(200); 
    }, 
    function() { 
     $(this).siblings(".sub").fadeOut(200); 
    }); 

如果您需要使用两个相同的功能,而使用jQuery 1.3.2使用:

function menuLinkHover(){ 
    $(this).siblings(".sub").fadeIn(200); 
} 

$("#menu li#menues a").hover(menuLinkHover, menuLinkHover); 

请享用!

3

您已经包括了jQuery两次..

删除此行的代码

<script type="text/javascript" src="./Scripts/jquery-1.3.2.js" ></script> 
+0

这不是一个答案。你可以留下评论。 :) –

+0

我的自定义脚本仍然无法正常工作。但如果我删除灯箱脚本它会。所以有些事情是错误的。我的脚本的问题是,当它完成淡入淡出并执行淡出时,它不会发生,也许函数调用的bcuz? – Jimmy

+2

@Saeed Neamati,问题以这种方式回答,所以我们称之为答案。 –

0

一些脚本扩展了jQuery对象,它看起来是Lightbox中的一个。

通过包括对jQuery脚本的引用两次,因为在页面加载:

  • jQuery对象将被添加到DOM,
  • 再延长灯箱,
  • 然后一个新的jQuery对象将被添加到没有扩展名的DOM

所以依赖于lightbox的脚本将不会运行。

卸下第二jQuery的script标签应该解决这个问题。

+0

为什么我的脚本不能工作呢?它工作时,即时通讯不使用灯箱 – Jimmy

+0

什么错误被抛出?您是否可以使用FireBug(http://getfirebug.com/)查看控制台? – StuperUser

+0

甚至似乎无法得到事件触发(淡出),虽然这可以在页面上不使用lightbox。 – Jimmy