2013-12-09 52 views
1

任何想法可能會導致衝突阻止jQuery懸停上的第二個回調函數,然後阻止第一次運行任何其他時間?帶有懸停功能的jQuery動畫只能用於懸停一次,但不能後續

jQuery(document).ready(function($) { 

     $(".nav ul ul").css({ display: 'none' }); 
     $(".nav ul li").hover(function() { 
      $(this).find('ul.sub-menu') 
       .stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 600); 
     }, function(){ 
      $(this).find('ul.sub-menu') 
       .stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 600); 
     }); 

    }); 
+3

適合我。 JSFiddle:http://jsfiddle.net/R47FJ/ – mayabelle

+0

我在其他地方測試過它,它工作。在目前的環境中,我有它,它不工作。尋找建議尋找什麼樣的衝突,這會阻止它的一半。 –

+0

您是否檢查控制檯中是否有錯誤? – strah

回答

2

我發現了這個問題。在css文件中有衝突。一旦懸停功能使用,一旦有一個CSS樣式:

ul.nav li:hover > ul, 
.nav ul li:hover > ul { 
    display: block; 
} 

這是壓倒一切的jQuery和只顯示框樣式下拉很快沒有生命的。