2012-10-20 56 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