jquery - 使用jquery自动刷新div

标签 jquery xmlhttprequest refresh

当尝试使用此处提供的代码时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/

相关文章:

javascript - 如何设置mousemove更新速度?

javascript - 内容更改后强制刷新页面

java - 当输入以编程方式更新时,如何刷新 zk 中的文本框?

javascript - 使用 push() 将两个数组合并为一个

javascript - 通过代码检测对输入所做的更改

javascript - 如何在滚动时使用 Jquery 颜色变化效果时保持 'hover' 效果

javascript - 从 php 服务器处理数据库中的 ajax 流式传输进度

javascript - XMLHttpRequest 上传属性到底有什么好处?

javascript - 如何创建一个在其值中带有引号的字符串变量?

javascript - 如何解决我的http请求问题?