Нагрузка на низ div не работает должным образом

0

Поэтому этот вопрос не обязательно, как заставить его работать, потому что он это делает. Но это очень багги. Проблема, с которой я сталкиваюсь, заключается в том, что когда вы прокручиваете вниз, иногда требуется некоторое время для загрузки, чтобы функция активировалась или что-то в этом роде. В любом случае переменная сбрасывается и загружается как 5 страниц подряд. Так что это багги. У меня есть код здесь:

var ldid = 10;
jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight) {

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                    ldid = ldid + 10;
                }));

            }
        })
    }
);
Теги:
append
bind

2 ответа

1

Вы можете использовать флаг.

Если он загружается, вы можете установить его в true.

Если загрузка завершена, вы установите ее на значение false, и вы делаете запрос ajax, только если он является ложным.

var ldid = 10,
    isPageLoading = false;

jQuery(
    function ($) {
        $('#allpostcontainer').bind('scroll', function () {
            if ($(this).scrollTop() +
                $(this).innerHeight() >= $(this)[0].scrollHeight && !isPageLoading) {

                isPageLoading = true;

                $("#allpostcontainer").append($("<div>").load("/streampage.php?id=" + ldid, function () {
                ldid = ldid + 10;

                isPageLoading = false;

            }));

        }
    })
}
);
  • 0
    Все еще не работает. Попытался добавить "console.log (ldid)" в функцию, и я получил довольно странные результаты 20 30 20 40 30 20
0

Если вы хотите установить свой тег Div в конце div "allpostcontainer", тогда на странице будет указан скрипт ниже.

(#bottom - идентификатор тега Div, который вам нужно отобразить внизу. #allpostcontainer - это тег div тега, который является основным Div с прокруткой)

<script>
    $(document).ready(function () {
        $('#bottom').css('position', 'absolute');
        $('#bottom').css('top', $('#allpostcontainer').height() - $('#bottom').height());
    });
</script>

Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.

Спасибо...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню