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"