2

当尝试使用此处提供的代码链接文本时,我遇到了一些问题,建议为此问题打开一个新问题。我在这里使用该代码链接文本尝试为会议创建反向通道(它使用 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 编码器,所以感觉就像在这里走在砖墙上:-(

4

2 回答 2

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
于 2009-02-03T14:05:49.063 回答
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);
于 2009-02-02T22:56:15.387 回答