Скрыть панель загрузки при отсутствии файла .HTML - PullRequest
0 голосов
/ 19 марта 2012

У меня есть код ниже, чтобы найти следующий последовательный номер страницы и загрузить его внизу страницы, как только пользователь достигнет нижней части экрана.

загрузочный блок сдвигается вниз и, как только он загружается и поднимается, как только это будет сделано ... по умолчанию он установлен на «display: none»

Что мне нужно, так это строка кода, которая в основном скрывает div #loading, если не найдено больше страниц для загрузки ... "var url =" page "+ nextpage +". Html ";" находит новую страницу ... под названием "page 2.html, page3.html" и т. д.

Любая помощь будет оценена. Я предполагаю, что это легко, но я нигде не могу найти решение ...

alreadyloading = false;
nextpage = 2;

$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
    if (alreadyloading == false) {
        $("#loading").slideDown();
        var url = "page"+nextpage+".html";
        alreadyloading = true;

        $.post(url, function(data) {
            $('#newcontent').children().last().after(data);
            alreadyloading = false;
            nextpage++;
            $("#loading").slideUp();
        });

    }
}
});

1 Ответ

1 голос
/ 19 марта 2012

Если такого файла нет, запрос AJAX не будет выполнен, так что вы можете делать то, что вам нужно, из обработчика «сбой».Чтобы иметь возможность указать это, одно из решений - перейти от использования $.post к использованию более настраиваемого $.ajax, который предоставляет вам все необходимые параметры:

$.ajax({
    type: 'POST',
    url: url,
    success: function(data) {
        $('#newcontent').children().last().after(data);
        nextpage++;
    },
    complete: function() {
        alreadyloading = false;
        $("#loading").slideUp();
    }
});

Обратный вызов complete содержиткод, который будет выполнен независимо от того, что произойдет с запросом;обратный вызов success будет выполнен до complete, но только если запрос был успешным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...