2010-01-30 47 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()会导致这种行为。

相关问题