2012-07-15 45 views
2

任何人都可以帮助我更好地理解动画。jquery animate - 如果另一个动画开始,停止动画整理

我想知道是否有可能在跑步时停止当前动画位置。然后从另一个有生命的函数中,将它从当前位置携带到新位置。

这真的很难试图解释这个,所以我已经创建了一个fiddle ...


Fiddle

http://jsfiddle.net/motocomdigital/L5uh4/9/

在小提琴,你会看到推文。如果您只是简单地推出推文,它会激活左侧定位,将整个推文显示出来。

但是,如果您推出推文,它会回到开头。

注意:如果推文比可见推文区域短,则动画将不会运行。如果发生这种情况,请将小提琴窗口缩小至大约下面的大小,然后重新运行fiddle

enter image description here


我的问题

如果我将鼠标悬停和关闭像连续10次的鸣叫。它想要一个接一个地运行所有10个有生命的变化,在一个队列中。

我不希望发生这种情况,我需要它,所以如果我在推文上悬停 - 动画开始,但如果我将鼠标悬停在关闭位置(在动画完成之前),我希望暂停它的当前位置并悬停在关闭位置的动画。而不是堆栈队列。但也可以反之亦然?

有没有一个简单的方法呢?由于


见我的代码

$("#tweet").tweet({ 

    username: ["seaofclouds", "laughingsquid"], 
    count: 1, 
    template: "{text}", 
    avatar_size: 32 

}).bind("loaded", function(){ 

    var visible = $('#tweet ul').width(), 
     spanTweet = $('span.tweet_text').width(); 

    if (spanTweet > visible) { 

     $('#tweet ul').hover(function() { 

      $('#tweet ul li').animate({    
       left : '-' + (spanTweet - visible) + 'px'    
      }, 3000); 

     }, function() { 

      $('#tweet ul li').animate({    
       left : '0px'    
      }, 3000); 

     }); 

    } 

}); 


在此先感谢您的帮助在此:)

回答

4

又一个问题关于.stop

$('#tweet ul li').stop().animate(...); 

我希望this fiddle是你想要的。

+0

谢谢兄弟,我有时候很愚蠢,我总觉得它比它更复杂。当它让我时,我会接受答案。谢谢@亚历山大 – Joshc 2012-07-15 21:52:47