2011-05-15 97 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