当尝试使用此处提供的代码link text时,我遇到了一些问题,建议为此问题打开一个新问题。我在这里使用该代码link text试图为会议创建一个反向通道(它使用twitter搜索API来显示数据,所以请尝试使用一些哈希键来获取数据)。 问题是,当内容获得它时,它会立即消失,就像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编码器,所以感觉就像在这里走砖墙一样: - (
答案 0 :(得分:2)
您遇到问题,因为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
答案 1 :(得分:1)
尝试这样的事情
function getRandom() {
$("#random").hide("slow");
$("#random").load("http://www.google.co.uk", '', callback);
}
function callback() {
$("#random").show("slow");
setTimeout("getRandom();", 10000);
}
$(document).ready(getRandom);