JS выполняет функцию только в нижней части окна, а не на каждой прокрутке окна - PullRequest
0 голосов
/ 29 апреля 2019

Получил этот фрагмент рабочего кода из Интернета, но я не могу понять, как его изменить.проблема в том, что он выполняет функцию КАЖДЫЙ ВРЕМЯ, которую я прокручиваю, независимо от того, где на странице.

он должен выполняться только тогда, когда я рядом с нижней частью.

это фрагмент для "бесконечностиscroll "

<script>
$(document).ready(function() {

$(window).scroll(fetchPosts);

function fetchPosts() {

    var page = $('.endless-pagination').data('next-page');

    if(page !== null) {

        clearTimeout( $.data( this, "scrollCheck" ) );

        $.data( this, "scrollCheck", setTimeout(function() {
            var scroll_position_for_posts_load = $(window).height() + $(window).scrollTop() + 100;

            if(scroll_position_for_posts_load >= $(document).height()) {
                $.get(page, function(data){
                    $('.posts').append(data.posts);
                    $('.endless-pagination').data('next-page', data.next_page);
                });
            }
        }, 350))

    }
}

})

есть идеи, мои коллеги-программисты?Использование Laravel 5.2

1 Ответ

0 голосов
/ 29 апреля 2019

рабочий раствор:

 window.onscroll = function() {
     if ((window.innerHeight + window.pageYOffset) >= (document.body.scrollHeight - 500)) {
         fetchPosts();
     }
 };

-500, чтобы выполнить функцию незадолго до достижения дна.

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