2012-08-16 91 views
0

我目前正在製作一個小的淡入淡出式子導航菜單。一切工作正常,除了事實上,當我mouseover,副導航菜單先淡出,然後動畫下來。我需要這個同時發生,所以我繼續前進,並禁用隊列,但由於某種原因,它仍然消失,然後按順序動畫:C。有趣的是:當我鼠標移出時,它會同時移動和消失!很混亂。即使在隊列中,jQuery動畫仍然充當隊列:false

$(document).ready(function(){ 
    $("ul.subNavMenu").fadeTo(0,0); 
    $("ul.navMenu").hover(
     function() { 
      $("ul.subNavMenu").animate({opacity: 1, marginTop: "20px"}, {duration: 1000, queue:false}); 
     }, 
     function() { 
      $("ul.subNavMenu").animate({opacity: 0, marginTop: "0px"}, {duration: 1000, queue:false}); 
     } 
    ); 
}); 

這裏的小提琴: http://jsfiddle.net/Hmvd3/2/

有什麼建議?

+0

我很困惑。它適用於我:http://jsfiddle.net/nickaknudson/Hmvd3/。你在瀏覽什麼瀏覽器? – nickaknudson 2012-08-16 01:13:52

+0

很奇怪!它也適用於我。我正在使用最新版本的Chrome。 – 2012-08-16 02:00:51

+0

我對我進行了更多的測試。看起來淡入開始,然後在淡入淡入之後不久。在本質上,看起來動畫實際上是重疊的,但是每個動畫相互偏移幾毫秒。 – 2012-08-16 02:06:55

回答

1

你可以試試stop()。

$("ul.navMenu").hover(
     function() { 
      $("ul.subNavMenu").stop().animate({opacity: 1, marginTop: "20px"}, {duration: 1000, queue:false}); 
     }, 
     function() { 
      $("ul.subNavMenu").stop().animate({opacity: 0, marginTop: "0px"}, {duration: 1000, queue:false}); 
     } 
); 
0

默認寬鬆擺動。設置easing: 'linear'應該可以解決您的問題。

http://jsfiddle.net/nickaknudson/Hmvd3/

資源

+0

該死的,我真的希望這能解決它。 http://jsfiddle.net/Hmvd3/2/ :/ – 2012-08-16 02:44:46

+0

設置'easing:'linear''不適合你嗎? – nickaknudson 2012-08-16 02:48:29

+0

哎呀,那是錯誤的鏈接。但是,它沒有太多:/ – 2012-08-16 04:46:11