2011-10-24 14 views
0

jqueryUIの位置を使用して配置した要素があります。 。jQueryUI位置決め要素をアニメートする方法

- :

Iはオフセット(これはjQueryUI位置を初期化時に指定されている他の要素に対して残るよう

示すようにI素子を配置していを調整することによって、この要素をアニメーション化できるようにする必要があります

$('#toparrow').position ({ 

      of: $('#relative_element'), 
      my: 'center top', 
      at: 'center top', 
      offset: "0 0" 

     }) 
'0 -30' にオフセットaniateしたいと思います。私はこれを達成するにはどうすればよい

答えて

2

を、それが位置だしたらここで説明するためにjsfiddleだ、そこに署名=欠落が原因の混乱に

$('#toparrow').position({ 
    of: $('#relative_element'), 
    my: 'center top', 
    at: 'center top', 
    offset: '0 0' 
}); 

$('#toparrow').animate({ 
    top: '-=30px' 
}); 

::、あなたは相対的なアニメーションを行うことができます

http://jsfiddle.net/bryanjamesross/Vz4WV/

+0

おかげでブライアンを、残念ながらこれは文句を言わない効果を持っています私は 'トップ'のプロパティをアニメートする必要があるので、私はしたい。もちろんこれは1つの要素にとってはうまくいくでしょうが、私はこれらの要素の多くを動的に生成しています。つまり、 'top'プロパティはすべての要素で同じになることを意味します。 30pxを元の位置から30pxに移動するのではなく、上から30pxに移動する必要があります。私の質問では明確にならないのは私のせいです。私の謝罪です。 – gordyr

+0

さて、私はそれを変更しました。そして、元の位置からそれをアニメ化する限り、そうです。それが*相対*アニメーションの理由です。それは '-30px'のことです。これは、jQueryに、現在のどこからでも*、-30px以上でアニメートするように指示します。 – rossipedia

+0

申し訳ありません...私はポジションを使用していることを言及する必要があります:絶対に周囲の要素に影響を与えないように要素をスタイリングするときは絶対に、あなたのソリューションはもちろんそれらのポジションに設定されます:残念ながら、この場合とposition:css(ページレイアウトの上に要素を積み重ねるために)を使って絶対的に設定された場合、元の位置から-30pxではなく、同じ高さに移動します。もう一度私は十分な詳細を与えていない謝罪します。 – gordyr

関連する問題