page 단위로 제공하는 api를 사용하여 ajax 를 사용해서 무한 스크롤을 만들어보자
$(function(){
$(window).scroll(function(){
let $window = $(this);
let scrollTop = $window.scrollTop();
let windowHeight = $window.height();
let documentHeight = $(document).height();
// scrollbar의 thumb가 바닥 전 500px까지 도달 하면 리스트를 가져온다.
if(scrollTop + windowHeight + 500 > documentHeight) {
oneTime = true;
fetchList();
}
})
})
아래는 fetchList
$.ajax({
url: "/url/url2",
data: {
dat : dat
},
type: "get",
dataType: "json",
success: function(result){
let itemlist = result.list;
// 컨트롤러에서 가져온 방명록 리스트는 result.data에 담겨오도록 했다.
// 남은 데이터가 5개 이하일 경우 무한 스크롤 종료
let length = itemlist.length;
if( length < 5 ){
isEnd = true;
}
// 중복 실행 방지
if(oneTime)
{
// 검색 리스트 그려주기
itemlist.forEach((data, index) => {
renderList(data);
});
}
pg = pg +1 ;
oneTime = false;
}
});
let renderList = function(data, vo){
var html ='<a href=""></a>';
$('body').append(html);
}
간혹 엄청 빨리내리면 ajax가 데이터를 가져오고 그려주는데 시간이 걸리다 보니..
느릴 수 있는데 고건 어쩔 수 없는 듯
'프론트엔드 > Javascript' 카테고리의 다른 글
[Js] 전화번호 입력시 하이픈(-) 추가 함수 (0) | 2024.02.20 |
---|---|
백준 node.js / javascript boiler plate code(기본코드) (0) | 2023.08.14 |
parseInt()와 Number()의 차이 (0) | 2023.04.04 |
[javascript] array형 / object형 변수 반복문 정리 (0) | 2023.03.08 |
[Javascript] rest parameter 란? (0) | 2023.02.21 |
page 단위로 제공하는 api를 사용하여 ajax 를 사용해서 무한 스크롤을 만들어보자
$(function(){
$(window).scroll(function(){
let $window = $(this);
let scrollTop = $window.scrollTop();
let windowHeight = $window.height();
let documentHeight = $(document).height();
// scrollbar의 thumb가 바닥 전 500px까지 도달 하면 리스트를 가져온다.
if(scrollTop + windowHeight + 500 > documentHeight) {
oneTime = true;
fetchList();
}
})
})
아래는 fetchList
$.ajax({
url: "/url/url2",
data: {
dat : dat
},
type: "get",
dataType: "json",
success: function(result){
let itemlist = result.list;
// 컨트롤러에서 가져온 방명록 리스트는 result.data에 담겨오도록 했다.
// 남은 데이터가 5개 이하일 경우 무한 스크롤 종료
let length = itemlist.length;
if( length < 5 ){
isEnd = true;
}
// 중복 실행 방지
if(oneTime)
{
// 검색 리스트 그려주기
itemlist.forEach((data, index) => {
renderList(data);
});
}
pg = pg +1 ;
oneTime = false;
}
});
let renderList = function(data, vo){
var html ='<a href=""></a>';
$('body').append(html);
}
간혹 엄청 빨리내리면 ajax가 데이터를 가져오고 그려주는데 시간이 걸리다 보니..
느릴 수 있는데 고건 어쩔 수 없는 듯
'프론트엔드 > Javascript' 카테고리의 다른 글
[Js] 전화번호 입력시 하이픈(-) 추가 함수 (0) | 2024.02.20 |
---|---|
백준 node.js / javascript boiler plate code(기본코드) (0) | 2023.08.14 |
parseInt()와 Number()의 차이 (0) | 2023.04.04 |
[javascript] array형 / object형 변수 반복문 정리 (0) | 2023.03.08 |
[Javascript] rest parameter 란? (0) | 2023.02.21 |