Jquery 加载完整记录后,Ajax加载程序gif将继续显示在向下滚动条上
我正在制作一个MVC web应用程序,在我的应用程序中,当用户向下滚动页面时,我正在使用Ajax加载记录,但问题是当用户再次向下滚动页面时,加载的记录已满,Ajax加载程序gif再次显示但消失。真烦人。是否有任何方法可以在加载完整记录后禁用加载gif。任何帮助都将不胜感激。 我的javascript代码如下:Jquery 加载完整记录后,Ajax加载程序gif将继续显示在向下滚动条上,jquery,Jquery,我正在制作一个MVC web应用程序,在我的应用程序中,当用户向下滚动页面时,我正在使用Ajax加载记录,但问题是当用户再次向下滚动页面时,加载的记录已满,Ajax加载程序gif再次显示但消失。真烦人。是否有任何方法可以在加载完整记录后禁用加载gif。任何帮助都将不胜感激。 我的javascript代码如下: var page = 0; var _inCallback = false; function loadProducts() { if (page >
var page = 0;
var _inCallback = false;
function loadProducts() {
if (page > -1 && !_inCallback) {
_inCallback = true;
page++;
$('div#loading').html('<p><img src="/Content/ajax-loader.gif"></p>');
$.get("/Sort/ALL/" + page, function (data) {
if (data != '') {
$("#productList").append(data);
}
else {
page = -1;
}
_inCallback = false;
$('div#loading').empty();
});
}
}
var dcList = true;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
loadProducts();
}
});
var-page=0;
var _inCallback=false;
函数loadProducts(){
如果(第>-1页&&!\u返回){
_inCallback=true;
page++;
$('div#load').html('');
$.get(“/Sort/ALL/”+页面,函数(数据){
如果(数据!=''){
$(“#产品列表”)。追加(数据);
}
否则{
page=-1;
}
_inCallback=false;
$('div#load').empty();
});
}
}
var dcList=true;
$(窗口)。滚动(函数(){
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()){
loadProducts();
}
});
注意:我数了数页面并设置为状态,它也不工作。
我需要帮助。谢谢试试这个:
var page = 0;
var _inCallback = false;
function loadProducts() {
if (!_inCallback) {
_inCallback = true;
page++;
$('div#loading').html('<p><img src="/Content/ajax-loader.gif"></p>');
$.get("/Sort/ALL/" + page, function (data) {
if (data != '') {
$("#productList").append(data);
}
if( page >= 24 ) {
//If we are done, delete the event from window, and delete the loader
$(window).off("scroll");
} else {
//The else is only to be sure we wont have another call to the get, it shouldn't be necessary
_inCallback = false;
}
$('div#loading').empty();
});
}
}
var-page=0;
var _inCallback=false;
函数loadProducts(){
如果(!\u inCallback){
_inCallback=true;
page++;
$('div#load').html('');
$.get(“/Sort/ALL/”+页面,函数(数据){
如果(数据!=''){
$(“#产品列表”)。追加(数据);
}
如果(第24页){
//如果我们完成了,从窗口中删除事件,并删除加载程序
$(窗口)。关闭(“滚动”);
}否则{
//其他的只是确保我们不会再接到另一个电话,这应该是没有必要的
_inCallback=false;
}
$('div#load').empty();
});
}
}
当你说“完整记录”时,你的意思是成功获取?不客气!,如果问题不再需要,请删除或回答。祝你好运@NicoSantangelo:我认为它应该能够计算所有带有查询的页面,并将其设置为上述javascript条件。但它不起作用。你能帮忙吗。我设置了条件,例如,如果(page>-1&&!\u inCallback&&page<24)因此,您试图在24页之后删除加载程序gif?@NicoSantangelo:是的,我想在加载24页之后,它不应该显示加载程序gif。它正在工作,我不应该使用page>24而不是page>=24,因为它从page=0开始。是吗?太好了,你太棒了,工作很好。非常感谢。