Php 动态刷新div时出现问题
我创建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() { $(
我不知道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结构。