2012-10-20 58 views
0

看過很多文章,但無法使動畫功能無限期地運行。請幫幫我。jquery無限動畫

$.move = function(object, direction) { 
    $(object).animate({ 
     backgroundPosition:'('+ direction +' -15000px)' 
    }, 20000, 'linear', function(){ $.move(object, direction) }); 
}; 
+0

你試過'$ .move(this,direction)'嗎? – inhan

+0

是的。沒有結果。 – ilyasavitski

+0

顯然,動畫backgroundPosition規則存在問題。您可能想要使用setInterval並設置css。 – inhan

回答

0

曾經做過!

 $('#stars1').css({backgroundPosition: '0px 0px'}); 
     $('#stars2').css({backgroundPosition: '0px 0px'}); 

     function move(object, direction){ 
      $(object).animate({backgroundPosition:'('+ direction +' -15000px)'}, 20000, 'linear', function(){$(object).css({backgroundPosition: '0px 0px'}); move(object, direction); }); 
     }; 

     move($("#stars1"), '-2000px'); 
     move($("#stars2"), '+2000px'); 
0

我不知道爲什麼要使用$.move,而不是.move,但你可以創建在選擇行動jQuery方法:

$.fn.move = function() { 
    $(this).animate({...}, function(){ $(this).move() }); 
}; 

http://jsfiddle.net/mG6W4/

+0

都試過了。它的工作,但不是無限期的。 – ilyasavitski

+0

@ Saa67你無限期的意思是什麼?據我可以告訴我的演示。什麼瀏覽器? –

+0

任何瀏覽器。即opera,ff,chrome – ilyasavitski