当尝试使用此处提供的代码时link text我遇到了一些问题,建议为此问题提出一个新问题。我在这里使用该代码 link text尝试为 session 创建一个反向 channel (它使用 twitter 搜索 api 来显示数据,因此请尝试使用一些 hashkey 来获取数据)。 但问题是,当内容获取它时,它立即再次消失,就像 div 被隐藏一样。查看源代码时,我可以看到 div 的内容,但没有显示。除非发生超时并且显示超时错误消息,否则下面的 div 内容将保留。 为了完整起见,我将在这里使用的代码:
<script type="text/javascript">
function update() {
$("#notice_div").html('<img src="img/ajax-loading.gif" border="0"/>');
$.ajax({
type: 'GET',
url: 'inc/backchannel.php',
timeout: 2000,
success: function(data) {
$("#backchannelContent").html(data);
$("#notice_div").html('');
window.setTimeout(update, 2000);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#notice_div").html('Timeout contacting server..');
window.setTimeout(update, 60000);
}
})}$(document).ready(update);
</script>
提前感谢您的帮助,我不是一个 javascript 编码员,所以感觉就像在这里靠着砖墙行走:-(
最佳答案
您遇到了问题,因为 div 的内容是在隐藏动画完成之前加载的。您可以使用另一个回调来解决它,如下所示:
(这与 Mark 写的非常相似,但具有匿名函数)
$(document).ready(function(){
setInterval(function(){
$("#random:not(:animated)").hide("slow", function(){
$("#random").load("inc/backchannel.php").show("slow");
});//show callback
} ,10000);//set interval
});//doc.ready
关于jquery - 使用jquery自动刷新div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/505314/