jQuery remove()正在移动我的div块......我怎样才能修复他们的位置?

时间:2010-01-30 03:25:40

标签: jquery html load

我正在使用jQuery刷新容器DIV中的内容。单击刷新链接时,我调用jQuery删除()内容DIV,然后load()重新创建它们和内容。

问题是我在底部有菜单和导航,当我刷新内容时,在加载Ajax内容时删除DIV后,所有底部导航会暂时被推高。

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);

感谢所有帮助。感谢

4 个答案:

答案 0 :(得分:1)

如果要重新加载div,则可能不必删除内容。负载将自动替换内容。

一种选择是在加载时淡化内容,使其看起来好像内容会淡化为新内容。

答案 1 :(得分:0)

好吧,你真的不需要删除它们......你可以重复使用它们......

但是如果你真的必须因为你必须这样做,那么你可以为必须删除的div创建一个容器。然后该容器将使用它所拥有的所有空间,这样当你删除div时,什么都不会改变....;))

答案 2 :(得分:0)

load()会在有内容时替换内容,而不需要先.remove()。至少在我使用它的时候它是如何工作的。

答案 3 :(得分:0)

谢谢大家,你没事,load()确实取代了内容。

我发现问题实际上是我正在使用fadeIn()和load(),所以如果你在fadeIn()之前点击刷新(使用3秒fadeIn),那么bottomnav DIV会向上移动。

如果你等待fadeIn()完成,那么在bottomnav DIV中注意移动。

有没有办法打断正在运行的fadeIn()调用,以便我的bottomnav DIV不会暂时被推高?

说实话,我不确定为什么打断fadeIn()会导致这种行为。