2010-01-30 43 views
0

我正在使用jQuery刷新容器DIV中的內容。當點擊刷新鏈接時,我調用jQuery去除()內容DIV,然後加載()來重新創建它們和內容。jQuery remove()正在移動我的div塊...我如何修復它們的位置?

問題是我有底部的菜單和導航,當我刷新內容時,在Ajax內容加載時DIV被remove()'d後,所有底部導航都會被暫時推上去。

HTML:

<div id="container"> 
    <!-- Below PHP include generates contentdiv1 and contentdiv2 --> 
    <?php include($_SERVER['DOCUMENT_ROOT']."/content.php"); ?> 
</div> 
<div id="refresh"> 
    <a href="javascript: void(0)" id="refreshbutton">Refresh</a> 
</div> 
<div id="bottomnav"> 
    <!-- nav menus and copyright type junk here is getting pushed UP^^^ --> 
</div> 

JAVASCRIPT:

// This occurs when the "refresh" link is clicked 
$('div#contentdiv1').remove(); 
$('div#contentdiv2').remove(); 
$('div#container').load('/content.php?rnd='+ Math.random()*999999); 

所有幫助表示讚賞。謝謝

+0

我猜#contentdiv1和#contentdiv2在#container裏面? – PetersenDidIt 2010-01-30 03:30:37

回答

1

如果您重新加載div,您可能不必刪除內容。負載將自動替換內容。

一種選擇是在負載發生時淡入內容,使其看起來好像內容淡入新內容。

0

好,你真的沒有將其刪除..你可以重用他們...

但是,如果你真的要,因爲你只需要,那麼你就可以做出的div的容器必須被刪除。然後,那個容器將使用它所有的空間,這樣,當你刪除div時,什麼都不會改變....;))

0

load()將取代它的內容時,不需要.remove()第一。至少在我使用它的時候它是如何工作的。

0

謝謝大家,你沒事,load()確實取代了內容。

我發現問題實際上是我使用fadeIn()和load(),所以如果在fadeIn()之前單擊刷新(使用3秒fadeIn),那麼bottomnav DIV向上移動。

如果您等待fadeIn()完成,然後在bottomnav DIV中移動。

有沒有辦法中斷正在運行的fadeIn()調用,以便我的bottomnav DIV不會被暫時推起?

說實話,我不知道爲什麼中斷fadeIn()會導致這種行爲。

相關問題