2014-07-22 185 views
0

在完全理解jQuery中的动画是如何排队和初始化的过程中遇到了一些麻烦。通过编写一些按钮效果,试图让这个概念更加舒适。jQuery悬停动画队列

我想将下面的笔的代码变成一个平滑的动画(如你可以看到,如果你多次悬停在按钮上遇到一些问题),执行每个动画悬停在只有当没有另一个动画将在上执行,然后只在动画中的悬停结束时执行悬停动画。

这里是我的代码:http://jsbin.com/larukayi/1/edit

在此先感谢您的帮助!

回答

0

我觉得下面的变化得到预期的结果:

button1.css("cursor", "pointer").hover(
     function(){ 
     slideup.stop(true).animate({ 
      "bottom":"0px" 
     }, 150, 'linear'); 
     slideup.delay(100).animate({ 
      "left":"50px" 
     },150,'linear'); 
     slideright.delay(550).animate({ 
      "left":"0px" 
     }, 100, 'swing'); 
     }, 
    function(){ 
     slideright.stop(true).animate({ 
      "left":"-50px" 
     },150,'linear'); 
     slideup.delay(100).animate({ 
      "left":"0px" 
     }, 150, 'linear'); 
     slideup.delay(100).animate({ 
      "bottom":"-100px" 
     },150,'linear'); 
     }); 
+0

谢谢,帮助,但有没有办法让徘徊在它的每一个徘徊的时间来完成动画?我的意思是,当我将鼠标悬停在它上面时,无论我是否将动画悬停在动画中间,我都希望动画能够完全执行。 – Crd12h

+0

当它将动画回到原始位置时? –

+0

我想通过整个动画悬停/悬停出去。如果我将鼠标悬停在按钮上并悬停在悬停IN动画完成之前,我仍然希望它完成并在任何其他动画尝试启动之前返回到原始位置。 – Crd12h