본문으로 바로가기

javascript 페이징

category Javascript 2013. 3. 29. 16:36



* 위 그림과 같은 페이징 구현을 위한 javascript 소스 (단순한 jQuery가 약간 들어가 있음)

 - 필요한 데이터 : page 번호, 게시판 전체 count, 화면에 뿌려질 글 count, 네비게이터 count

 - java 단에서 pageBlock만큼 데이터를 가져온다는 가정하에 작성

 - class는 무시하고 원하는 입맞에 맞게 변경하면 됨


pagingView : function(startIndex) {

var pagingHTML = "";

var page = parseInt($("#page").val());

var totalCount = parseInt($("#totalCount").val());

var pageBlock = parseInt($("#pageBlock").val());

var navigatorNum    = 10;

var firstPageNum = 1;

var lastPageNum = Math.floor((totalCount-1)/pageBlock) + 1;

var previewPageNum  = page == 1 ? 1 : page-1;

var nextPageNum = page == lastPageNum ? lastPageNum : page+1;

var indexNum = startIndex <= navigatorNum  ? 0 : parseInt((startIndex-1)/navigatorNum) * navigatorNum;

if (totalCount > 1) {

if (startIndex > 1) {

pagingHTML += "<a class='btn_first disabled' href='#' id='"+firstPageNum+"'><em>Go First</em></a> ";

pagingHTML += "<a class='btn_prev disabled' href='#' id='"+previewPageNum+"'><em>Preview</em></a> ";

}

for (var i=1; i<=navigatorNum; i++) {

var pageNum = i + indexNum;

if (pageNum == startIndex) 

pagingHTML += "<a class='selected' href='#' id='"+pageNum+"'>"+pageNum+"</a> ";

else 

pagingHTML += "<a href='#' id='"+pageNum+"'>"+pageNum+"</a>  ";

if (pageNum==lastPageNum)

break;

}

if (startIndex < lastPageNum) {

pagingHTML += "<a class='btn_next' href='#' id='"+nextPageNum+"'><em>Next</em></a> ";

pagingHTML += "<a class='btn_end' href='#' id='"+lastPageNum+"'><em>Go End</em></a>";

}

}

$(".paging").html(pagingHTML);

$(".paging a").click(function (e) {

paging($(this).attr('id'));

});

}

'Javascript' 카테고리의 다른 글

간단한 jQuery eval 로 class 설정 예제  (0) 2013.04.08
jQuery 생년월일 select box 셋팅 script  (0) 2013.03.29
JSP AJAX 한글 깨짐  (1) 2011.05.24
Timer(타이머) 스크립트  (6) 2011.05.16
익스 버전 확인 스크립트  (0) 2011.05.12