>웹 프론트엔드 >JS 튜토리얼 >새로 고치지 않는 paging_javascript 기술에 JS 페이징 제어를 사용할 수 있습니다.

새로 고치지 않는 paging_javascript 기술에 JS 페이징 제어를 사용할 수 있습니다.

WBOY
WBOY원래의
2016-05-16 17:28:071025검색

JS 페이징 제어는 새로 고치지 않는 페이징에 사용할 수 있습니다

코드 복사 코드는 다음과 같습니다.

function PagerBar(recordcount, pagesize, pageindex, showpagecount) {
var NumberRegex = new RegExp(/^d $/)
this.PageIndex = 1;
if (pageindex != null && NumberRegex.test(pageindex)) this.PageIndex =parseInt(pageindex)
this.PageSize = 10; //페이지 크기
if (pagesize != null && NumberRegex .test(pagesize)) this.PageSize = parsInt(pagesize);
this.RecordCount = 0
if (recordcount != null && NumberRegex.test(recordcount)) this.RecordCount =parseInt(recordcount); //총 레코드 수
this.PageCount = 0; //총 페이지 수
var PagerBar = this
function CalculatePageCount(_pagesize, _recordcount) {//총 페이지 수 계산
if (_pagesize != null && NumberRegex.test(_pagesize)) PagerBar.PageSize =parseInt(_pagesize);
    if (_recordcount != null && NumberRegex.test(_recordcount)) PagerBar.RecordCount =parseInt(_recordcount);
    else PagerBar.RecordCount = 0;
if (PagerBar.RecordCount % PagerBar.PageSize == 0) {//총 페이지 수 계산
PagerBar.PageCount =parseInt(PagerBar.RecordCount / PagerBar. PageSize);
}
else {
PagerBar.PageCount =parseInt(PagerBar.RecordCount / PagerBar.PageSize) 1
}
}
if (this.RecordCount != 0 ) {//CalculatePageCount(this.PageSize, this.RecordCount);
}
this.ReplaceString = " 《#PageLink》" //페이지 번호의 텍스트를 바꿀 수 없습니다. 정규 표현식의 기호
this.ShowPagesCount = 5; //페이지 수 표시
if (showpagecount != null && NumberRegex.test(showpagecount.toString())) this.ShowPagesCount = parsInt( showpagecount)
this.PreviouBarFormat = ""; //이전 페이지의 텍스트 형식 표시
this.IsShowPreviouString = true; //이전 페이지 표시 여부
this.NextBarFormat = "" //다음 텍스트 표시 format
this.IsShowNextString = true; //다음 페이지 표시 여부
this.PageBarFormat = ""; //페이지 연결 시 텍스트 형식 표시
this.CurrentBarFormat = ""; / 현재 페이지에 표시되는 텍스트 형식
this.IsShowPageString = true; // 페이지 인덱스 표시 여부
this.FristBarFormat = "" // 홈페이지 링크에 표시되는 텍스트 형식
this .IsShowFristString = true; //홈페이지 표시 여부
this.LastBarFormat = ""; //마지막 페이지 표시 텍스트 형식
this.IsShowLastString = true; this.CurrentRecordBarFormat = "현재 레코드 {0}-{1} "; //현재 레코드 표시 텍스트 형식
this.IsShowCurrentRecordString = true; //현재 레코드 표시 여부
this.CurrentPageBarFormat = "현재 페이지 " this.ReplaceString ", total" (this.PageCount == 0 ? 1: this.PageCount) "page"; //현재 페이지 텍스트 설명 텍스트 형식
this.IsShowCurrentPageString = true; //현재 페이지를 표시할지 여부 페이지 텍스트 설명 텍스트
this.OtherBarFormat = ""; //기타 텍스트도 표시
this.IsShowOtherString = true; //다른 페이지 텍스트 표시 여부
var regexp = new RegExp(this.ReplaceString, "g"); //페이지 번호 텍스트 정규 표현식 교체
함수 GetFristPageString() {//홈 페이지 텍스트 가져오기
                                                            ~                               홈페이지 텍스트 가져오기 {> Else {
"" " 반환;
}
}
function GetPreviouPageString() { //이전 페이지 텍스트 가져오기
if (PagerBar.PreviouBarFormat != "") {
if (PagerBar.RecordCount > PagerBar.PageSize && PagerBar.PageIndex != 1) {//이전 페이지 HTML 출력
               return PagerBar.PreviouBarFormat.replace(regexp, PagerBar.PageIndex - 1)
          }
}
                           > 형식 != "") {
    var ShowPageFirest = PagerBar.PageIndex -parseInt(PagerBar.ShowPagesCount / 2 1) < 0 ? 0 : PagerBar.PageIndex -parseInt(PagerBar.ShowPagesCount / 2 1); 표시되는 페이지 수
if (PagerBar.PageCount < PagerBar.ShowPagesCount) {//전체 수가 표시되는 페이지 수보다 적은 경우
ShowPageFirest = 0;
}
                               | PagerBar.PagerBar.PagerBar.ShowPagesCount
                                                                        (PagerBar.PageIndex == i 1) {
                                                                              Pagestr = PagerBar.PageBarFormat.replace(regexp, i 1 );
                                                                                     ~
                                                                          >         페이지 반환; && PagerBar.PageIndex != PagerBar.PageCount) {//HTMl의 다음 페이지를 출력
                                                        ~
            else {
                return "";
            }
        }
        else {
            return "";
        }
    }
    function GetLastPageString() {//获取尾页链接
        if (PagerBar.LastBarFormat != "" && PagerBar.PageIndex != PagerBar.PageCount && PagerBar.RecordCount != 0 ) {
            return PagerBar.LastBarFormat.replace(regexp, PagerBar.PageCount);
        }
        else {
            return "";
        }
    }

    함수 GetFrontOtherPageString() {//获取前其它页链接
        if (PagerBar.OtherBarFormat != "") <🜜>            if (PagerBar.PageIndex > PagerBar.ShowPagesCount / 2 1) {
               return PagerBar.OtherBarFormat.replace(regexp, PagerBar.PageIndex - PagerBar.ShowPagesCount <= 0 ? 1 : PagerBar.PageIndex - PagerBar.ShowPagesCount)
            }           그 외 {
                ""를 반환합니다.
            }
        }
        else {
            return "";
        }
    }
    function GetAfterOtherPageString() {//获取后其它页链接
       if (PagerBar.OtherBarFormat != "") {
           if (Pager Bar.PageIndex <= PagerBar. PageCount - PagerBar.ShowPagesCount / 2) {
               return PagerBar.OtherBarFormat.replace(regexp,
               PagerBar.PageIndex PagerBar.ShowPagesCount >= PagerBar.PageCount ? PagerBar.PageCount : PagerBar.PageIndex PagerBar.ShowPages 개수);
            }
            else {
                ""를 반환합니다.
            }
        }
        else {
            return "";
        }
    }
    function GetCurrentRecordPageString() {//获取当前记录文本
        if (PagerBar.CurrentRecordBarFormat != "") {
           if (PagerBar .RecordCount == 0) {
                ""를 반환합니다.
            }
            else {
               return PagerBar.CurrentRecordBarFormat.replace("{0}", (PagerBar.PageIndex - 1) * PagerBar.PageSize 1).replace("{1}", PagerBar.PageIndex * PagerBar.PageSize > PagerBar.RecordCount ? PagerBar.RecordCount : PagerBar.PageIndex * PagerBar.PageSize);
            }
        }
        그렇지 않으면 ""를 반환합니다.
    }
function GetCurrentPageBarString() {//현재 페이지 레코드 텍스트 가져오기
if (PagerBar.CurrentPageBarFormat != "") {
return PagerBar.CurrentPageBarFormat.replace(regexp, PagerBar.PageIndex)
}
else return "";
}
this.GetString = function (pageindex) {//HTML 코드 출력(모든 모드)
if (pageindex != null && NumberRegex.test(pageindex) ) {//페이지 색인이 전달된 경우
        this.PageIndex =parseInt(pageindex) CalculatePageCount(this.PageSize, this.RecordCount)
}
var pagestr = "" ;
if (this.IsShowCurrentPageString) {
pagestr = GetCurrentPageBarString();
                                                > = GetPreviouPageString( );
if (this.IsShowOtherString) {
pagestr = GetF rontOtherPageString()
                                                > IsShowOtherString) {
pagestr = GetAfterOtherPageString() }                                                                    {
                                                                    >       return pagestr;
 }
this.GetNormalString = function (pageindex) {
If (pageindex != null && NumberRegex.test (pageindex)) {//페이지 인덱스가 전달된 경우 값을 할당합니다.
this.PageIndex =parseInt(pageindex)
                                                            > 🎜> pagestr = GetFristPageString() pagestr = GetPreviouPageString();
pagestr = GetPageString();
pagestr = GetLastPageString()                                                                     과제
this.PageIndex =parseInt(pageindex);
}
If (this.PageCount == 0) {//전체 페이지 수를 계산하지 않은 경우 전체 페이지 수를 계산합니다.
CalculatePageCount(this.PageSize, this.RecordCount)
}
var pagestr = "";
pagestr = GetPreviouPageString()
pagestr = GetCurrentPageBarString();
사용 예:

아직 없음

콘텐츠에 필요한 지식 포인트
페이지 나누기 "#PageLink"
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.