今天无意看到了这个分页控件
不过使用方法不是很清楚没有研究
大家可以自行研究
里面的函数写法倒是不错
需要内容的结合
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》