我有一个<div id="refresh">
,里面有一些MySQL内容。我有这个JavaScript代码:
<script type="text/javascript">
var auto_refreshs_contents = setInterval(
function(){
$('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow"); // load div.refresh
}
, 3000); // refresh every 3 seconds
</script>
它实际上是第一次发布代码的副本,所以它看起来像这样:
0 seconds
+-------------------------------------+
|Randome Text |
|This is such a cool chat room |
|Not really |
+-------------------------------------+
3 seconds
+-------------------------------------+
|Randome Text |
|This is such a cool chat room |
|Not really |
|This is such a cool chat room |
|Not really |
+-------------------------------------+
如果你注意到这一点,它就会遗漏“随机文本”这个帖子。我不知道为什么。 但是,它基本上是第一次这样做。然后在6秒之后刷新,但没有更多内容,之后,它会刷新正确。所以我决定在刷新之前清除页面内容:
<script type="text/javascript">
var auto_clearContents = setInterval(
function(){
$("#refresh").html(""); //clear contents of div#refresh
}
, 3000); //clear existing contents every 3 seconds
var auto_refreshs_contents = setInterval(
function(){
$('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow"); // load div.refresh
}
, 3000); // refresh every 3 seconds
</script>
然而,当事情变得奇怪时。我正在查看Chrome开发者工具中的networks
标签,它显示每200毫秒左右刷新一次(是200),有时需要2.5秒。我不知道......
我的代码有问题吗?有没有更好的方法呢?谢谢!
答案 0 :(得分:1)
我认为后端肯定有问题。 Here is a fiddle基本上只显示你在说什么,而且工作正常。
当您看到200毫秒时,我认为可能是生成index.php
页面所需的时间,而不是间隔之间的时间。
如果您向我们展示来自php页面或php页面本身的响应,我们可能会提供帮助。