2012-07-15 58 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