2012-12-06 7 views
5

HTMLのdivをアニメーション化:私は何をしたいかjqueryのは、中央に

<div id="container"> 
    <div id="header"> 
      <div id="animate"> 
     cartagena 
     </div> 
     </div> 

をjqueryのを使用して、中央に「アニメーション」のdivを移動することです。

私の現在のjs:

$(document).ready(function() { 
     $("#animate").animate({left: "+=512"}, 2000); 
}); 

、今私が代わりに右にちょうど512ピクセルの中心にそれをしたいのですが。

+0

をその結果、同時にアニメーション何の中心に? #ヘッダー、#container、ドキュメント、ウィンドウ? – pxx

答えて

6

私は#animateの位置がabsoluteであると仮定しています。ただleftに親の幅の半分のマイナス独自の幅の半分を追加し、その親要素の要素を中央に:

$("#animate").animate({ 
    left: $("#animate").parent().width()/2 - $("#animate").width()/2 
}, 2000); 

を私はjsFiddleを使ってdemoを作成しました。

+0

これはリフレッシュ時にはもう動作しません:/ –

+0

@WouterVandenputteブラウザで同じように動作するはずです...とにかく[左の値を設定]しようとすると(http://jsfiddle.net/8gJAa/1 /)を使用します。 – Matthias

1

あなたが画面にそれを中心に、このようにそれを使用することができ、

のjQuery

$(document).ready(function() { 
    $("#animate").animate({left: $(window).width()/2}, 2000); 
}); 

CSS

<style type="text/css"> 
div 
{ 
    height: 50px; width: 50px; background-color: Red;position:absolute; top:0; left:0; 
} 
</style> 

HTML

<div id="container"> 
    <div id="header"> 
     <div id="animate"> 
      cartagena 
     </div> 
    </div> 
</div> 
2

あなたはこのコードを使用して、ウィンドウを中央に配置したいAsuming:このセンター

$("#myJQUIDialog").parent().position({ 
    my: "center", 
    at: "center", 
    of: window, 
    using: function (pos, ext) { 
     $(this).animate({ top: pos.top }, 600); 
    } 
}); 

ダイアログを、スムーズなセンタリングで

関連する問題