x秒后重新加载内容

时间:2011-12-24 04:59:13

标签: jquery

在我的索引页面中,有一个div框,显示论坛上的最后帖子。 我希望它每10秒重新加载一次。

$(document).ready(function(){
     while(1==1)
     {
        $("#lastPosts").delay(10000).load("showLastPosts.php");
     }
});

这是个好主意吗?有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

请尝试setInterval

$(document).ready(function(){
    setInterval(function () {
        $("#lastPosts").load("showLastPosts.php");
    }, 10000);
});

由于你正在加载远程内容,你还应该考虑AJAX调用可能以不同的顺序返回的可能性(不太可能,因为你的间隔是10秒)。为防止这种情况发生,您可以使用setTimeout和递归函数(如MDN文章底部所述):

(function getLatestPosts(){  
   setTimeout(function(){   
      $("#latestPosts").load("showLastPosts.php", getLatestPosts);     
  }, 10000);  
})();  

答案 1 :(得分:0)

我认为您将与服务器通信以获取要加载到div的最新详细信息。所以应该考虑使用ajax。

$(document).ready(function(){
    setInterval(function () {
      $.ajax({
         type : 'GET'
         url: 'showLastPosts.php',
         datatype: 'html',
         success: function(data){
             $("#lastPosts").html(data);
          }
       });
    }, 10000);
});
相关问题