2011-01-24 24 views
4

中心点を中心とした円運動で要素をアニメーション化する最も良い方法を知りたいですか?jQueryと中心点のアニメーション

私はかなりそれを把握することができませんでした...事前に:(

感謝を。

Neuroflux。

答えて

5

私は考えることができる:

  1. 相対中心点の位置は、アニメーション要素は
  2. 上記トップを計算するの子であることを作る作る、使用左:
    math.sin(時間*(角度/秒))*距離
    math.cos(....)

簡単なデモ:

var elem = $('h1:eq(0)') 
    .append('<span id="round" style="position:absolute;background-color:red;">&nbsp;</span>') 
    .css('position','relative') 
    .find('span#round'); 

var i = 0; 
setInterval(function(){  
    ++i; 
    elem.css({'left': Math.sin(i * 0.02) * 100, 'top': Math.cos(i * 0.02) * 100});}, 100); 


jsfiddleでの動作を参照してください。

+1

これは完全なプラグインライブラリなしでアニメーションを持つのもいいですね。 +1 –

+0

Brock、jsfiddleリンクとコンテンツを追加していただきありがとうございます。 Neurofluxation、それはあなたに有用でうれしいです。 – ccppjava

6

jquery.pathプラグインを使用し、ここではdemoです。

(別の質問から見つけた:How would you animate something so that it follows a curve?

+0

ラブリー、ありがとう。 –

+0

ええ、デモはFFで動作しませんでした。 '$ .path is undefined'を取得します。これはNoScriptのnosniffブロッキングによって引き起こされるように見えます。 –

+0

私はこれを受け入れるだろうが、非ライブラリ/プラグインのバージョンは私のコードの方がより便利だった。あなたはまだいくつかの投票を持っている! (私からのものを含む)。 –

関連する問題