Php 动态刷新div时出现问题

Php 动态刷新div时出现问题,php,jquery,html,refresh,Php,Jquery,Html,Refresh,我创建div,当文件更新时刷新它。但是它会不断刷新(每秒钟淡出淡入)。我不知道test2.php的来源 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js> </script> <script> $(document).ready(function() { $(

我创建div,当文件更新时刷新它。但是它会不断刷新(每秒钟淡出淡入)。
我不知道test2.php的来源

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js>
    </script>                          
    <script> 
    $(document).ready(function() {
       $('#loaddiv').load('check.chat.php');
     });


    var auto_refresh = setInterval( function() {
    $.ajax(
        {
        type: 'POST',
        data:"id=100",
        url: "check.chat.php",
        success: function(result) 
        {
            if($("#loaddiv").html() != result)
            {
                $("#loaddiv").fadeOut("fast")
                $("#loaddiv").html(result);
                $("#loaddiv").fadeIn("slow");
           }
        }
    });
    }, 1000);
    </script>

    <div id="loaddiv"></div>
此部分:

$("#loaddiv").fadeOut("fast")
$("#loaddiv").html(result);
$("#loaddiv").fadeIn("slow");
应该是:

$("#loaddiv").fadeOut("fast", function(){
        $("#loaddiv").html(result);
        $("#loaddiv").fadeIn("slow");
});
在您的情况下,两个淡入淡出同时被调用,形成一个动画队列,使其在间隔再次触发的大约相同时间内从一个阶段转到另一个阶段


更新


要查看日志,请执行以下操作:
console.log(“html:,$(“#loaddiv”).html(),“result:,result”)

因为您使用的是
setInterval()
,它会按照您提供的时间间隔执行操作,所以您只需要在成功回调中刷新页面。问题在于您的比较
如果($(“#loaddiv”).html()!=result)
。目前不知道为什么,但if语句总是验证为true,因此您的内容会闪烁。必须尝试记录Ajax调用的结果和旧的HTML,以便您可以看到它们的真实外观。我的猜测是有点可疑。Andrzej,使用Firebug(插件)调试ajax,并在Firefox中执行与JS相关的任何其他操作。我尝试过它,但仍然每秒淡出淡入,尽管它是相同的文本。也许是哪个check.chat从mysql生成文本的问题?是的,我不能说什么,因为没有代码。。。对于load div和ajax结果,console.log都说了些什么?就在if子句的正上方。您将在Chrome(CTRL+Shift+I)和Firefox(Opera等中也有相应的工具)中使用开发工具查看日志;2012-09-25;xxxxxxxx;结果:sdfsdf;2012-09-25;xxxxxxxx;就这样。。。php文件应该只输出
sdfsdf;2012-09-25;xxxxxxxx
不是整个HTML结构。