Проблема с прокруткой при загрузке данных с помощью AJAX - PullRequest
0 голосов
/ 04 сентября 2018

Я занимаюсь разработкой веб-сайта с использованием PHP, MySQL, JavaScript (JQuery + Ajax), я использовал функцию прокрутки клиента и полосы прокрутки, проблема в том, что если я загружаю данные с помощью ajax, функция прокрутки выдает сотни ошибок, говорящих: «Uncaught TypeError : Невозможно прочитать свойство 'top' of undefined "из функции прокрутки, которая:

    function Scroll() {
        var contentTop = [];
        var contentBottom = [];
        var winTop = $(window).scrollTop();
        var rangeTop = 200;
        var rangeBottom = 500;
        $('.navbar-collapse').find('.scroll a').each(function () {
                contentTop.push($($(this).attr('href')).offset().top);//The error rises from this line
                contentBottom.push($($(this).attr('href')).offset().top + 
$($(this).attr('href')).height());
        })
        $.each(contentTop, function (i) {
            if (winTop > contentTop[i] - rangeTop) {
                $('.navbar-collapse li.scroll')
                        .removeClass('active')
                        .eq(i).addClass('active');
            }
        })
    }

и веб-сайт начинает мигать, когда я прокручиваю до конца, я попытался проверить, не является ли "contentTop.push ($ ($ (this) .attr ('href')). Offset ()" нулевым, ошибки исчезают, но веб-страница все еще мигает в конце страницы. Если вы можете помочь, пожалуйста, поделитесь своим ответом, Спасибо заранее.

1 Ответ

0 голосов
/ 04 сентября 2018

var winTop = $(window).scrollTop();. Эта строка заставляет окно перейти в начало страницы. Это может быть причиной мигания.

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