在我的索引页面中,有一个div框,显示论坛上的最后帖子。 我希望它每10秒重新加载一次。
$(document).ready(function(){
while(1==1)
{
$("#lastPosts").delay(10000).load("showLastPosts.php");
}
});
这是个好主意吗?有更好的方法吗?
答案 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);
});