[javascript] jQuery를 사용한 무한 스크롤 구현 방법

개요

무한 스크롤은 웹 페이지에서 사용자가 스크롤을 내리면 자동으로 추가 콘텐츠를 로드하는 기능을 말합니다. 이 기능을 구현하기 위해서는 jQuery와 Ajax를 사용하면 간단하게 구현할 수 있습니다. 이 글에서는 jQuery를 사용하여 무한 스크롤을 구현하는 방법에 대해 알아보겠습니다.

구현 단계

  1. 초기화
  2. 스크롤 이벤트 추가
  3. Ajax 요청
  4. 결과 처리

1. 초기화

$(document).ready(function() {
  // 초기에 몇 개의 아이템을 로드할지 정합니다.
  var itemsPerPage = 10;
  
  // 시작 페이지를 설정합니다.
  var currentPage = 1;
  
  // 스크롤 이벤트를 추가합니다.
  $(window).scroll(function() {
    // 스크롤 위치를 확인합니다.
    var scrollTop = $(window).scrollTop();
    var windowHeight = $(window).height();
    var documentHeight = $(document).height();
    
    // 스크롤이 일정 위치에 도달하면 Ajax 요청을 보냅니다.
    if (scrollTop + windowHeight >= documentHeight - 100) {
      // Ajax 요청 함수 호출
      loadItems();
    }
  });

  // 아이템을 로드하는 함수
  function loadItems() {
    // Ajax 요청을 보냅니다.
    $.ajax({
      url: '데이터를 가져올 URL',
      type: 'GET',
      data: {
        page: currentPage,
        perPage: itemsPerPage
      },
      success: function(data) {
        // 결과를 처리하는 함수 호출
        handleData(data);
      },
      error: function() {
        // 에러 처리
        console.log('Error occurred while loading items.');
      }
    });
  }
  
  // 결과를 처리하는 함수
  function handleData(data) {
    // 가져온 데이터를 이용하여 새로운 아이템을 생성하고, DOM에 추가합니다.
    $.each(data, function(index, item) {
      // 새로운 아이템을 생성합니다.
      var newItem = '<div>' + item.title + '</div>';
      
      // 생성한 아이템을 DOM에 추가합니다.
      $('.item-container').append(newItem);
    });
    
    // 현재 페이지 번호를 증가시킵니다.
    currentPage++;
  }
});

2. 스크롤 이벤트 추가

스크롤 이벤트를 추가하여 사용자가 스크롤을 내릴 때마다 추가 콘텐츠를 로드할 수 있도록 합니다.

3. Ajax 요청

Ajax를 사용하여 서버로부터 데이터를 가져옵니다. $.ajax() 함수를 사용하여 Ajax 요청을 보내고, 가져올 데이터의 URL과 추가 파라미터를 설정합니다.

4. 결과 처리

Ajax 요청이 성공하면 success 콜백 함수가 호출됩니다. 이 함수에서는 가져온 데이터를 처리하여 새로운 아이템을 생성하고, DOM에 추가합니다. 추가로 가져올 데이터가 없을 경우에는 현재 페이지 번호를 증가시켜 다음 페이지의 데이터를 가져올 수 있도록 합니다.

결론

이상으로 jQuery를 사용하여 무한 스크롤을 구현하는 방법에 대해 알아보았습니다. 이를 통해 사용자가 웹 페이지를 스크롤 할 때마다 자동으로 추가 데이터를 로드할 수 있는 기능을 구현할 수 있습니다. 해당 코드를 참고하여 웹 페이지에 무한 스크롤 기능을 추가해 보세요!

참고 자료