뒤늦은 무한스크롤 관련질문입니다.

뒤늦은 무한스크롤 관련질문입니다.

QA

뒤늦은 무한스크롤 관련질문입니다.

그누보드5(영카트) 버전

5.6.15

본문

안녕하세요

갤러리 게시판에 무한스크롤 적용중입니다.

현재는 스크롤을 최대한 아래까지 내려야 새로운 페이지가 로딩 되는데

푸터 높이 정도(한 600px)를 뺀 높이까지만 스크롤해도 페이지가 로딩 되도록 하고 싶습니다.

 

대략 아래 소스중에 어디서 숫자를 빼면 되지 않을까 했는데 잘  안되네요

혹시 경험 있으신 분 계시면 부탁 드립니다.

 


$(window).scroll(function() {
    var chkBtm = parseInt($(document).height()) - parseInt($(window).height());
    if (chkBtm == $(window).scrollTop()) {
        roll_page++;
        if (roll_page <= total_page) {
            callContent(roll_page, 'append');
        }
    } else if ($(window).scrollTop() == 0) {
        now_page--;
        if (now_page > 0) {
            callContent(now_page, 'prepend');
        }
    }
});

 

원본 출처는 https://sir.kr/g5_skin/27677 을 보고 어떤 분이 커스텀 하신 블로그를 보고 적용중입니다.

24년에 이런 똑같은 QnA가 있었는데 해결을 못하신것 같고요

 

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 2

$(window).scroll(function() {
    var scrollTop = $(window).scrollTop();
    var windowHeight = $(window).height();
    var documentHeight = $(document).height();
    var preloadOffset = 600; // 푸터 높이


    if (scrollTop + windowHeight >= documentHeight - preloadOffset) {
        roll_page++;
        if (roll_page <= total_page) {
            callContent(roll_page, 'append');
        }
    }


    if (scrollTop <= preloadOffset) {
        now_page--;
        if (now_page > 0) {
            callContent(now_page, 'prepend');
        }
    }
});

이렇게하면될려나요?;;

오오 이른 시간에 감사합니다.
그런데 적용해 보니 48개를 12개씩 잘라서 보여준다고 했을때
처음 12개 보이고 스크롤 하면 다음 페이지가 나오긴 하는데
12개씩 2, 3페이지가 적용이 안되고 나머지 36개가 한번에 전부 다 보여버리네요 ㅜㅜ
원래 소스는 그건 잘 됐었는데요... 희안하네요 ㅎㅎ
암튼 정말로 감사드립니다!

$(window).scroll(function() {
    var scrollTop = $(window).scrollTop();
    var windowHeight = $(window).height();
    var documentHeight = $(document).height();
    var preloadOffset = 600; // 푸터 높이


    if (scrollTop + windowHeight >= documentHeight - preloadOffset) {
        roll_page++;
        if (roll_page <= total_page) {
            callContent(roll_page, 'append');
        }
    }


    if (scrollTop <= preloadOffset) {
        now_page--;
        if (now_page > 0) {
            callContent(now_page, 'prepend');
        }
    }
});

이렇게하면될려나요?;;

답변을 작성하시기 전에 로그인 해주세요.
전체 129,099 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT