$(document).ready(function() {
$(window).on('scroll', function(e) {
if (($(window).scrollTop()) >= $(document).height() - $(window).height()) {
$('#loader').show();
$('#LoadMore').hide();
var tl = $('.tlt').val();
var hdnCategoryId = $('.hdnCategoryId').val();
var hdnFilter = $("#<%= hdnFilter.ClientID%>").val();
$.ajax(
{
type: "POST",
url: "http://example.com/product/subcategorydetail.aspx/GetProducts121",
data: "{t:" + tl + ",Id:" + hdnCategoryId + ",hdnFilter: '" + hdnFilter + "'}",
contentType: "application/json",
dataType: "json",
success: function(rsp) {
$('.wrapperDIV').append(rsp.d.outputString);
$('.tlt').val($('.wrapperDIV input.lastId').eq(-1).val());
alert($('.wrapperDIV input.lastId').eq(-1).val());
},
error: function(rsp) {
alert("error");
alert(rsp.status + " " + rsp.statusText + "</br>" + rsp.responseText);
console.log(rsp);
console.log(rsp.responseText);
},
complete: function() {
$('#loader').hide();
}
});
}
});
});
当用户使用滚动到达窗口末尾时,我正在使用上面的代码加载更多产品。但问题是它一次又一次地生成 ajax 请求。我正在使用最后加载的产品 ID 来获取下一组产品。因此,如果我以快速方式滚动,我不会每次都获得最后一个产品的不同 ID,而是一次又一次地获得相同的 ID,但是如果我滚动并等待渲染第一个结果集包含在 DOM 中,这将非常完美。