2012-01-17 33 views
2

我有一個div $("#organizer_listings_container")最初使用CSS margin: 0 auto;居中居中,當用戶單擊按鈕時,它使用jQuery來增加其寬度。在調整大小後,我使用以下代碼來調整這個調整大小的div $("#organizer_listings_container")使用jQuery居中div

調整大小代碼

// Center content when width changes 
if($("#organizer_listings_container").css("position") != 'absolute') { 
    $("#organizer_listings_container").css("position","absolute"); 
    var left = ($(window).width() - $("#organizer_listings_container").width())/2 + "px"; 
    $("#organizer_listings_container").css('left', left);  // set initial 'left' 
} 
left = ($(window).width() - (852))/2 + "px"; 
$("#organizer_listings_container").animate({'left': left}); // animate to final 'left' 

問題:當我添加一個新的div(使其可見使用jQuery show()),它出現上述#organizer_listings_container#organizer_listings_container位移向下這是正確的。現在,當我刪除這個新添加的div時,#organizer_listings_container不會再移回!

我懷疑這是由於所使用的jQuery居中代碼所需的絕對定位。當新添加的div被刪除時,我怎樣才能使resize div div備份起來?

使用jQuery來計算新添加的div的高度,然後通過計算高度偏移top移位調整DIV高達似乎米歇爾比我想

+1

你聽起來像你指的是兩個div,但你只提到1? – 2012-01-17 02:33:12

+0

還有第二個div加在第一個div'## organizer_listings_container'之上。讓我編輯帖子,使其更清晰 – Nyxynyx 2012-01-17 02:36:00

+1

http://jsfiddle.net/中的示例如何? – PetersenDidIt 2012-01-17 02:42:53

回答

0

可避免使用jQuery和添加一個類新增加的股利和與頂部位移中心,它就像這樣:

<div class="container" style="background:blue; width:100%;"> 
<div class="box" style="background:green; width:50px; height:40px; margin: 0 auto; margin-top:20px;"></div> 
</div> 

注意的是,類將包含內嵌式的,這只是一個例子。

你可能需要jquery的唯一的事情就是確保容器是100%的高度。但是如果你只看到盒子,而只使用容器來定位它,那麼你就不需要這個需求。