2011-05-15 95 views
1

我試圖在幾秒鐘後結束動畫。我會給你幾秒鐘來研究我的標記。延遲動畫開始

$(document).ready(function() { 

     //when mouse enters .box .cover will animate to go to 150px 
     $('.box').mouseenter(function() { 
      $(this).parent().find('.cover').stop().animate({ 
       top: '150px' 
      }) 
     //when mouse leaves .box - .cover will set back to 300px 
     .mouseleave(function() { 
      $(this).parent().find('.cover').stop().animate({ 
       top: '300px', 
       duration: 300   
      }) 
      }); 
     }); 



}); 

我想要做什麼是我的鼠標離開.cover我要等待幾秒鐘.cover去頂後:300像素。

我該如何做到這一點?任何可能的解你能不能簡短地解釋我錯過了什麼,我做錯了什麼?我想知道我做錯了什麼或錯過了什麼。

感謝堆棧溢出!

+0

動畫由它的性質將最終到達參數,你想拖延爲什麼動畫後? – 2011-05-15 15:32:55

+0

一旦我的鼠標離開。它立即動畫到頂部:300px我想等待幾秒鐘,它的動畫爲300px。 – breezy 2011-05-15 15:36:39

+0

我要從「如何在幾秒鐘後結束動畫」到「延遲動畫的開始」這個問題上加以修改,因爲原始標題非常具有誤導性。 – 2011-05-15 15:47:29

回答

3

Delay it

編輯: 此:

$(this).parent().find('.cover').stop().animate({ 
       top: '300px', 
       duration: 300   
      }) 

變化爲:

$(this).parent().find('.cover').stop().delay(4000).animate({ 
       top: '300px', 
       duration: 300   
      }) 
+2

這是每個人最懶惰的答案。 – Raynos 2011-05-15 14:54:12

+0

這種幫助是一種可能的解決方案,但我想知道如何正確實施它。不過謝謝。 – breezy 2011-05-15 15:12:48

+0

所以現在,這不是最懶惰的。 – 2011-05-15 15:40:16