jquery div刷新包含的PHP文件

时间:2014-03-08 16:51:37

标签: javascript php jquery html

我正在使用此代码不断刷新包含PHP文件的div:

$(document).ready(function() {
setInterval(function() {
     $('#ContentLeft').load('live_stats1.php').fadeIn("slow");
     $('#ContentRight').load('live_stats2.php').fadeIn("slow");
}, 2000);

});

我的HTML看起来像:

<div id="ContentLeft">
<?php include 'live_stats1.php'; ?>
</div>

<div id="ContentRight">
<?php include 'live_stats2.php'; ?>
</div>

当我在谷歌Chrome浏览器中查看显示live_stat1.php和live_stats2.php页面不断加载时,这会导致问题,因为它们不断刷新并减慢互联网/在互联网连接上使用大量带宽它正在运行?

1 个答案:

答案 0 :(得分:1)

这取决于live_stats1.phplive_stats2.php我正在猜测的处理量,因为您正在加载某些类型的统计信息,您可能在这些脚本中执行了很多数据库查询。

我认为2秒是一个很短的间隔,我会想到增加这个。有人对这些脚本完成并找到最佳间隔时间所需的时间进行基准测试。

在使用.load()时,您可以考虑在完成后添加回调并设置变量。然后在每个循环中,您可以检查先前的加载是否已完成。因为没有必要继续加载没有时间完成的脚本

var contentLeftLoaded = true;
var contentRightLoaded = true;
setInterval(function() {

    //Has content loaded from previous request
    if(contentLeftLoaded) {
        contentLeftLoaded = false;
        $('#ContentLeft').load('live_stats1.php', function() {
            $('#ContentLeft').fadeIn("slow");
            contentLeftLoaded = true;
        });
    }
    if(contentRightLoaded) {
        contentRightLoaded = false;
        $('#ContentRight').load('live_stats2.php', function() {
            $('#ContentRight').fadeIn("slow");
            contentRightLoaded = true;
        });
    }
}, 2000);