我有这个滚动功能,用于检查何时到达div ID的结尾:
function loadOldPosts() {
$.ajax({
url: "https://www.example.com/go.php",
method: "post",
data:{
postID: postID
},
dataType:"json",
success:function(data)
{
if (data) {
setTimeout(loadOldPosts, 5000);
}
}
});
}
$(window).scroll(function() {
var $this = $(this);
if ($this.scrollTop() + $this.height() >= $('#wall_posts').offset().top + $('#wall_posts').height() ) {
loadOldPosts();
}
});
我正在尝试使其运行,以便一旦loadOldPosts运行,它必须等待5秒钟才能再次运行。我虽然可以使用setTimeout函数来完成此操作,但是它似乎不起作用。
如何使该功能最多每5秒运行一次?
谢谢!
答案 0 :(得分:0)
您可以使用以下示例通过等待下一次调用直到ajax成功/错误来完成此操作:
var loading = true;
function loadOldPosts(){
if(loading){
loading = false;
$.ajax({
...,
success:function(data){
loading = true;
},
error:function(data){
loading = true;
}
})
}
}