Jquery x秒后重新加载内容
在我的索引页面中,有一个div框,显示论坛上最后的帖子。 我希望每10秒重新加载一次Jquery x秒后重新加载内容,jquery,Jquery,在我的索引页面中,有一个div框,显示论坛上最后的帖子。 我希望每10秒重新加载一次 $(document).ready(function(){ while(1==1) { $("#lastPosts").delay(10000).load("showLastPosts.php"); } }); 这是个好主意吗?有更好的方法吗?试试: 因为你正在加载远程内容,你也应该考虑Ajax调用可能会以不同的顺序返回(可能性不大,因为你的间隔是10秒)。为了防
$(document).ready(function(){
while(1==1)
{
$("#lastPosts").delay(10000).load("showLastPosts.php");
}
});
这是个好主意吗?有更好的方法吗?试试:
<>因为你正在加载远程内容,你也应该考虑Ajax调用可能会以不同的顺序返回(可能性不大,因为你的间隔是10秒)。为了防止出现这种情况,可以使用setTimeout
和递归函数(如MDN文章底部所述):
我想你会与服务器通信以获得最新的细节,以加载到div。所以应该考虑使用Ajax。
$(document).ready(function(){
setInterval(function () {
$.ajax({
type : 'GET'
url: 'showLastPosts.php',
datatype: 'html',
success: function(data){
$("#lastPosts").html(data);
}
});
}, 10000);
});
摆脱
while
循环。你不希望每次循环都会生成一个新的计时器,是吗?@Blender:只是一个输入错误——它已被删除。要加载,从哪里读取数据?您是否应该与服务器通信???
(function getLatestPosts(){
setTimeout(function(){
$("#latestPosts").load("showLastPosts.php", getLatestPosts);
}, 10000);
})();
$(document).ready(function(){
setInterval(function () {
$.ajax({
type : 'GET'
url: 'showLastPosts.php',
datatype: 'html',
success: function(data){
$("#lastPosts").html(data);
}
});
}, 10000);
});