我正在使用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);
感谢所有帮助。感谢
答案 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()会导致这种行为。