2013-04-08 54 views
0

我使用这个代码刷新一个div每10秒:如何刷新使用jQuery的div,而不要重复

<script type="text/javascript"> 
setInterval(function(){ 
     $('#feed').load('forum.php #feed').fadeIn("slow"); 
}, 10000); 
</script> 

伟大的作品,除了第一负载(10秒后),使得这个副本div,所以它是坐在另一个之上的。之后,div每10秒钟适当刷新一次,不要再做任何重复。

任何想法我的代码有什么问题?该div是:

<div id="feed">... stuff ... </div> 

谢谢!

+0

这听起来像是一种竞争条件。尝试'$('#feed')。load('forum.php')。fadeIn('slow');' – BumbleB2na 2013-04-08 20:05:37

+0

你不应该得到你提供的代码的重复。 – 2013-04-08 20:05:56

+0

@ BumbleB2na,感谢您的回复 - 该代码在加载时使整个页面变为空白 – 2013-04-08 20:10:51

回答

1

jQuery docs

当此方法执行,它检索的AJAX /的test.html, 内容但随后的jQuery解析返回的文档与 容器的ID找到的元素。 将此元素及其内容插入 到ID为的元素中,其余检索的 文档将被丢弃。

因此,您多次将相同的元素插入到页面中。

试试你的选择更改为

$('#feed').load('forum.php #feed>*').fadeIn("slow"); 
+0

感谢您的回复 - 这仍然会导致第一个重复的div。我认为这一定与论坛软件有关。 – 2013-04-08 20:17:55

+0

关于'> *'的交易是什么?我没有这个部分使用加载功能。一切都很美好。你可以解释吗? – alix 2013-04-08 20:22:34

0

这与vBulletin的侧边栏的代码问题 - 我扩大了刷新div来涵盖整个侧边栏,而不仅仅是“最近的帖子”块。只是想在这里发布一个不太可能的机会,任何人都有完全相同的问题。

谢谢大家的帮助!