2011-07-05 80 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