Jquery 加载完整记录后,Ajax加载程序gif将继续显示在向下滚动条上

Jquery 加载完整记录后,Ajax加载程序gif将继续显示在向下滚动条上,jquery,Jquery,我正在制作一个MVC web应用程序,在我的应用程序中,当用户向下滚动页面时,我正在使用Ajax加载记录,但问题是当用户再次向下滚动页面时,加载的记录已满,Ajax加载程序gif再次显示但消失。真烦人。是否有任何方法可以在加载完整记录后禁用加载gif。任何帮助都将不胜感激。 我的javascript代码如下: var page = 0; var _inCallback = false; function loadProducts() { if (page >

我正在制作一个MVC web应用程序,在我的应用程序中,当用户向下滚动页面时,我正在使用Ajax加载记录,但问题是当用户再次向下滚动页面时,加载的记录已满,Ajax加载程序gif再次显示但消失。真烦人。是否有任何方法可以在加载完整记录后禁用加载gif。任何帮助都将不胜感激。 我的javascript代码如下:

 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开始。是吗?太好了,你太棒了,工作很好。非常感谢。