JavaScript 페이지 표시 실현

페이지 는 전단 다 중 데이터 페이지 에서 흔히 볼 수 있 습 니 다. 기 존의 페이지 플러그 인 은 이 루 다 헤 아 릴 수 없습니다. 저 는 페이지 디 스 플레이 를 구축 하 는 방법 을 공유 합 니 다. 목 표 는 현재 도 디 스 플레이 배열 의 중간 에 두 는 것 입 니 다. 예 를 들 어 (10 페이지 를 예 로 들 어):
< 1 2 3 4 >
< 2 3 4 5 >
< 7 8 9 10 >
쓸데없는 말 은 그만 하고 코드 를 바로 입력 하 세 요.
//   :    ,     ,    
function getPage(current, showCnt, pageCnt) {
    var array = []
    for (var i = 0; i < pageCnt; i++) {
        array.push(i + 1)
    }
    if (pageCnt <= showCnt) {
        return array.splice(0, pageCnt)
    } else if (pageCnt - current < showCnt - 1) {
        //       (12, 4, 15)
        return array.splice(pageCnt - showCnt, showCnt)
    } else if (current - Math.ceil(showCnt / 2) >= 0) {
        return array.splice(current - Math.ceil(showCnt / 2), showCnt)
    } else {
        return array.splice(0, showCnt)
    }
}

페이지 번호 가 정상적으로 표시 되 려 면 다음 과 같은 네 가지 상황 을 고려 해 야 한다.
1. 페이지 디 스 플레이 수 는 페이지 총수 보다 작 습 니 다.이 경우 현재 몇 페이지 든 모든 페이지 를 표시 해 야 합 니 다. 예 를 들 어 (3 페이지 로 4 개 표시): < 1, 2, 3 >, < 1, 2, 3 >
2. 페이지 디 스 플레이 수 는 페이지 총수, 끝의 부분 보다 크다.이 경우 현재 몇 페이지 든 마지막 n 페이지 (10 페이지, 4 개 표시) 를 표시 해 야 합 니 다.이런 상황 에 대해 특별히 설명해 야 한다. < 6789 > 는 이 상황 의 범주 에 속 하지 않 는 다. 그렇지 않 으 면 < 789 10 > 으로 표시 해 야 한다. 이것 은 분명히 우리 가 원 하 는 결과 가 아니다.
3. 페이지 디 스 플레이 수 는 페이지 총수 보다 많 고 가장 중간 부분 입 니 다.이런 상황 은 가장 흔히 볼 수 있 는 상황 이다. 현재 페이지 가 모든 페이지 를 표시 하 는 가운데 (10 페이지, 4 개 를 표시 하 는 것 을 예 로 들 면): < 2334 5 >, < 3456 >, < 456 7 >, < 5 6 7 8 >, < 6 7 8 9 >。
4. 페이지 디 스 플레이 수 는 페이지 총수 보다 크 고 맨 앞 부분.이 경우 현재 몇 페이지 든 맨 앞 에 n 페이지 (10 페이지, 4 개 표시) 를 표시 해 야 합 니 다. < 1, 2, 3, 4 >, < 1, 2, 3, 4 >.

좋은 웹페이지 즐겨찾기