2011-01-13 3 views
3

アイデアは、雲divをアニメーション化し、それを永続的に前後にアニメーション化することです。これはうまくいきますが、残念ながらメモリリークやUIの遅延が起こりやすいと思います。どんなアドバイスもありがたいです。ありがとうございます。これをより再帰的にアニメーション化されたjQueryスクリプトにするにはどうすればよいですか?

function animateCloud() { 
    $('#cloud').animate({ right: '+=500' }, { duration: 35000, easing: "linear", queue: true }); 
    animateOpposite(); 
} 

function animateOpposite() { 
    $('#cloud').animate({ right: '-=500' }, { duration: 35000, easing: "linear", queue: true }); 
    animateCloud(); 
} 

$(document).ready(function() { 
    animateCloud(); 
}); 

答えて

4

あなたのコードがメモリをまったくリークしないとは思っていませんが、コールを短く作成することはできます。

function animateCloud() { 
    $('#cloud').animate({ right: '+=500' }, { duration: 35000, easing: "linear" }) 
       .animate({ right: '-=500' }, { duration: 35000, easing: "linear", complete: animateCloud }); 
} 

例:http://www.jsfiddle.net/bh3f4/

1

オプションのコールバック引数を使用します。アニメーションが終了すると、jqueryが関数を呼び出します。他の方向をアニメーション化する完璧な時間。

関連する問題