온라인 상담전화상담
';
});
$('.mo-content').append(html); // 로드된 콘텐츠 추가
now_page = nextPage; // 현재 페이지 번호 업데이트
updateUrlQueryString(now_page); // URL 업데이트
} else {
// 더 이상 로드할 콘텐츠가 없을 때
console.log("더 이상 로드할 내용이 없습니다.");
// 더 이상 로드 시도하지 않도록 total_pages를 조정할 수도 있음
total_pages = now_page;
}
},
error: function (xhr, status, error) {
console.error('데이터를 불러오는데 실패했습니다:', status, error);
// 사용자에게 오류 알림 등을 추가할 수 있습니다.
},
complete: function () {
wv_loading = false; // 로딩 완료
}
});
}
// 스크롤 이벤트 리스너 (모바일에서만 작동)
$(window).on("scroll", function () {
if (!is_mobile) return; // 모바일 아니면 중단
var scrollHeight = $(document).height(); // 문서 전체 높이
var scrollPosition = $(window).height() + $(window).scrollTop(); // 현재 스크롤 위치 (하단 기준)
// 스크롤이 하단 근처 (예: 300px)에 도달했고, 로딩 중이 아니며, 더 로드할 페이지가 있을 때
if ((scrollHeight - scrollPosition) < 300 && !wv_loading && now_page < total_pages) {
console.log("스크롤 감지: 다음 페이지 로드 시도 - page " + (now_page + 1));
loadMoreContent(); // 다음 페이지 로드 함수 호출
}
});
// 창 크기 변경 감지 (is_mobile 상태 업데이트)
var resizeTimeout;
$(window).on('resize', function () {
// 리사이즈 중 이벤트 과다 발생 방지 (Debounce)
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function () {
var new_is_mobile = window.innerWidth <= 1024;
// 상태 변경이 있을 때만 로직 실행 (모바일<->PC 전환 시)
if (is_mobile !== new_is_mobile) {
// *** 모바일(true)에서 PC(false)로 전환될 때의 처리 ***
if (is_mobile && !new_is_mobile) {
// 현재 브라우저 URL에서 'page' 파라미터 값 가져오기
var currentPageInUrl = new URL(window.location.href).searchParams.get('page');
var targetPage = parseInt(currentPageInUrl, 10) || 1; // 없거나 잘못된 값이면 1로 처리
// URL의 페이지 번호와 PC 화면이 초기에 렌더링된 페이지 번호가 다르면
// 페이지를 새로고침하여 서버가 현재 URL 기준으로 다시 렌더링하도록 함
if (targetPage !== initial_page_rendered) {
window.location.reload();
}
}
// 현재 상태 업데이트
is_mobile = new_is_mobile;
}
}, 100); // 0.1초 후에 실행
});
}); // end of document ready