今天無意看到了這個分頁控件
不過使用方法不是很清楚沒有研究
大家可以自行研究
裡面的函數寫法倒是不錯
需要內容的結合
JS分頁控件可用於無刷新分頁
復制代碼 代碼如下:
function PagerBar(recordcount
pagesize
pageindex
showpagecount) {
var NumberRegex = new RegExp(/^d+$/);
this
PageIndex =
; //頁索引
當前頁
if (pageindex != null && NumberRegex
test(pageindex)) this
PageIndex = parseInt(pageindex);
this
PageSize =
; //頁面大小
if (pagesize != null && NumberRegex
test(pagesize)) this
PageSize = parseInt(pagesize);
this
RecordCount =
;
if (recordcount != null && NumberRegex
test(recordcount)) this
RecordCount = parseInt(recordcount); //記錄總數
this
PageCount =
; //頁總數
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 =
;
if (PagerBar
RecordCount % PagerBar
PageSize ==
) {//計算總也頁數
PagerBar
PageCount = parseInt(PagerBar
RecordCount / PagerBar
PageSize);
}
else {
PagerBar
PageCount = parseInt(PagerBar
RecordCount / PagerBar
PageSize) +
;
}
}
if (this
RecordCount !=
) {//如果傳入了記錄總數則計算總頁數
CalculatePageCount(this
PageSize
this
RecordCount);
}
this
ReplaceString = "《#PageLink》"; //替換頁數的文本
注
不可以有正則表達式中的符號
this
ShowPagesCount =
; //顯示頁數量
if (showpagecount != null && NumberRegex
test(showpagecount
toString())) this
ShowPagesCount = parseInt(showpagecount);
this
PreviouBarFormat = ""; //上一頁顯示文本格式
this
IsShowPreviouString = true; //是否顯示上一頁
this
NextBarFormat = ""; //下一頁顯示文本格式
this
IsShowNextString = true; //是否顯示下一頁
this
PageBarFormat = ""; //頁面連接顯示文本格式
this
CurrentBarFormat = ""; //當前頁顯示文本格式
this
IsShowPageString = true; //是否顯示頁索引
this
FristBarFormat = ""; //首頁鏈接顯示文本格式
this
IsShowFristString = true; //是否顯示首頁
this
LastBarFormat = ""; //尾頁顯示文本格式
this
IsShowLastString = true; //是否顯示尾頁
this
CurrentRecordBarFormat = "當前記錄{
}
{
}"; //當前記錄顯示文本格式
this
IsShowCurrentRecordString = true; //是否顯示當前記錄
this
CurrentPageBarFormat = "當前第" + this
ReplaceString + "頁
共" + (this
PageCount ==
?
: this
PageCount) + "頁"; //當前頁文字說明文本格式
this
IsShowCurrentPageString = true; //是否顯示當前頁文字說明文本
this
OtherBarFormat = ""; //其他也顯示文本
this
IsShowOtherString = true; //是否顯示其它頁文本
var regexp = new RegExp(this
ReplaceString
"g"); //替換頁數文本正則表達式
function GetFristPageString() {//獲取首頁文本
if (PagerBar
FristBarFormat != "" && PagerBar
PageIndex !=
) {
return PagerBar
FristBarFormat
replace(regexp
);
}
else {
return "";
}
}
function GetPreviouPageString() { //獲取上一頁文本
if (PagerBar
PreviouBarFormat != "") {
if (PagerBar
RecordCount > PagerBar
PageSize && PagerBar
PageIndex !=
) {//上一頁HTML輸出
return PagerBar
PreviouBarFormat
replace(regexp
PagerBar
PageIndex
);
}
else {
return "";
}
}
else {
return "";
}
}
function GetPageString() {//獲取中間頁數鏈接
var pagestr = "";
if (PagerBar
CurrentBarFormat != "" && PagerBar
PageBarFormat != "") {
var ShowPageFirest = PagerBar
PageIndex
parseInt(PagerBar
ShowPagesCount /
+
) <
?
: PagerBar
PageIndex
parseInt(PagerBar
ShowPagesCount /
+
); //計算顯示頁數的其實頁數
if (PagerBar
PageCount < PagerBar
ShowPagesCount) {//當也總數小於顯示頁數量
ShowPageFirest =
;
}
else {
if (PagerBar
PageIndex > (PagerBar
PageCount
parseInt(PagerBar
ShowPagesCount /
+
))) {//當頁總數在後幾頁顯示
ShowPageFirest = PagerBar
PageCount
PagerBar
ShowPagesCount;
}
}
for (var i = ShowPageFirest; i < ShowPageFirest + PagerBar
ShowPagesCount; i++) {//循環出書頁數文本
if (PagerBar
PageIndex == i +
) {
pagestr += PagerBar
CurrentBarFormat
replace(regexp
i +
);
}
else {
pagestr += PagerBar
PageBarFormat
replace(regexp
i +
);
}
if (i >= PagerBar
PageCount
) {//當到達頁總數的時候挑出循環
break;
}
}
}
return pagestr;
}
function GetNextPageString() {//獲取下一頁鏈接
if (PagerBar
NextBarFormat != "") {
if (PagerBar
RecordCount > PagerBar
PageSize && PagerBar
PageIndex != PagerBar
PageCount) {//輸出下一頁HTMl
return PagerBar
NextBarFormat
replace(regexp
PagerBar
PageIndex +
);
}
else {
return "";
}
}
else {
return "";
}
}
function GetLastPageString() {//獲取尾頁鏈接
if (PagerBar
LastBarFormat != "" && PagerBar
PageIndex != PagerBar
PageCount && PagerBar
RecordCount !=
) {
return PagerBar
LastBarFormat
replace(regexp
PagerBar
PageCount);
}
else {
return "";
}
}
function GetFrontOtherPageString() {//獲取前其它頁鏈接
if (PagerBar
OtherBarFormat != "") {
if (PagerBar
PageIndex > PagerBar
ShowPagesCount /
+
) {
return PagerBar
OtherBarFormat
replace(regexp
PagerBar
PageIndex
PagerBar
ShowPagesCount <=
?
: PagerBar
PageIndex
PagerBar
ShowPagesCount)
}
else {
return "";
}
}
else {
return "";
}
}
function GetAfterOtherPageString() {//獲取後其它頁鏈接
if (PagerBar
OtherBarFormat != "") {
if (PagerBar
PageIndex <= PagerBar
PageCount
PagerBar
ShowPagesCount /
) {
return PagerBar
OtherBarFormat
replace(regexp
PagerBar
PageIndex + PagerBar
ShowPagesCount >= PagerBar
PageCount ? PagerBar
PageCount : PagerBar
PageIndex + PagerBar
ShowPagesCount);
}
else {
return "";
}
}
else {
return "";
}
}
function GetCurrentRecordPageString() {//獲取當前記錄文本
if (PagerBar
CurrentRecordBarFormat != "") {
if (PagerBar
RecordCount ==
) {
return "";
}
else {
return PagerBar
CurrentRecordBarFormat
replace("{
}"
(PagerBar
PageIndex
) * PagerBar
PageSize +
)
replace("{
}"
PagerBar
PageIndex * PagerBar
PageSize > PagerBar
RecordCount ? PagerBar
RecordCount : PagerBar
PageIndex * PagerBar
PageSize);
}
}
else return "";
}
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);
}
if (this
PageCount ==
) {//如果沒有計算過頁總數
則計算頁總數
CalculatePageCount(this
PageSize
this
RecordCount);
}
var pagestr = "";
if (this
IsShowCurrentPageString) {
pagestr = GetCurrentPageBarString();
}
if (this
IsShowCurrentRecordString) {
pagestr += GetCurrentRecordPageString();
}
if (this
IsShowFristString) {
pagestr += GetFristPageString();
}
if (this
IsShowPreviouString) {
pagestr += GetPreviouPageString();
}
if (this
IsShowOtherString) {
pagestr += GetFrontOtherPageString();
}
if (this
IsShowPageString) {
pagestr += GetPageString();
}
if (this
IsShowOtherString) {
pagestr += GetAfterOtherPageString();
}
if (this
IsShowNextString) {
pagestr += GetNextPageString();
}
if (this
IsShowLastString) {
pagestr += GetLastPageString();
}
return pagestr;
}
this
GetNormalString = function (pageindex) {
if (pageindex != null && NumberRegex
test(pageindex)) {//如果傳入了頁索引則賦值
this
PageIndex = parseInt(pageindex);
}
if (this
PageCount ==
) {//如果沒有計算過頁總數
則計算頁總數
CalculatePageCount(this
PageSize
this
RecordCount);
}
var pagestr = "";
pagestr += GetFristPageString();
pagestr += GetPreviouPageString();
pagestr += GetPageString();
pagestr += GetNextPageString();
pagestr += GetLastPageString();
return pagestr;
}
this
GetSimpleString = function (pageindex) {
if (pageindex != null && NumberRegex
test(pageindex)) {//如果傳入了頁索引則賦值
this
PageIndex = parseInt(pageindex);
}
if (this
PageCount ==
) {//如果沒有計算過頁總數
則計算頁總數
CalculatePageCount(this
PageSize
this
RecordCount);
}
var pagestr = "";
pagestr += GetPreviouPageString();
pagestr += GetCurrentPageBarString();
pagestr += GetNextPageString();
return pagestr;
}
}
使用示例
暫無
內容中需要的知識點
分頁符《#PageLink》
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20480.html