javascript

位置:IT落伍者 >> javascript >> 浏览文章

JS分页控件 可用于无刷新分页


发布日期:2020年02月18日
 
JS分页控件 可用于无刷新分页
今天无意看到了这个分页控件不过使用方法不是很清楚没有研究大家可以自行研究里面的函数写法倒是不错需要内容的结合

JS分页控件可用于无刷新分页

复制代码 代码如下:
function PagerBar(recordcount pagesize pageindex showpagecount) {
var NumberRegex = new RegExp(/^d+$/);
thisPageIndex = ; //页索引当前页
if (pageindex != null && NumberRegextest(pageindex)) thisPageIndex = parseInt(pageindex);
thisPageSize = ; //页面大小
if (pagesize != null && NumberRegextest(pagesize)) thisPageSize = parseInt(pagesize);
thisRecordCount = ;
if (recordcount != null && NumberRegextest(recordcount)) thisRecordCount = parseInt(recordcount); //记录总数
thisPageCount = ; //页总数
var PagerBar = this;
function CalculatePageCount(_pagesize _recordcount) {//计算总页数
if (_pagesize != null && NumberRegextest(_pagesize)) PagerBarPageSize = parseInt(_pagesize);
if (_recordcount != null && NumberRegextest(_recordcount)) PagerBarRecordCount = parseInt(_recordcount);
else PagerBarRecordCount = ;
if (PagerBarRecordCount % PagerBarPageSize == ) {//计算总也页数
PagerBarPageCount = parseInt(PagerBarRecordCount / PagerBarPageSize);
}
else {
PagerBarPageCount = parseInt(PagerBarRecordCount / PagerBarPageSize) + ;
}
}
if (thisRecordCount != ) {//如果传入了记录总数则计算总页数
CalculatePageCount(thisPageSize thisRecordCount);
}
thisReplaceString = "《#PageLink》"; //替换页数的文本不可以有正则表达式中的符号
thisShowPagesCount = ; //显示页数量
if (showpagecount != null && NumberRegextest(showpagecounttoString())) thisShowPagesCount = parseInt(showpagecount);
thisPreviouBarFormat = ""; //上一页显示文本格式
thisIsShowPreviouString = true; //是否显示上一页
thisNextBarFormat = ""; //下一页显示文本格式
thisIsShowNextString = true; //是否显示下一页
thisPageBarFormat = ""; //页面连接显示文本格式
thisCurrentBarFormat = ""; //当前页显示文本格式
thisIsShowPageString = true; //是否显示页索引
thisFristBarFormat = ""; //首页链接显示文本格式
thisIsShowFristString = true; //是否显示首页
thisLastBarFormat = ""; //尾页显示文本格式
thisIsShowLastString = true; //是否显示尾页
thisCurrentRecordBarFormat = "当前记录{}{}"; //当前记录显示文本格式
thisIsShowCurrentRecordString = true; //是否显示当前记录
thisCurrentPageBarFormat = "当前第" + thisReplaceString + "页共" + (thisPageCount == ? : thisPageCount) + "页"; //当前页文字说明文本格式
thisIsShowCurrentPageString = true; //是否显示当前页文字说明文本
thisOtherBarFormat = ""; //其他也显示文本
thisIsShowOtherString = true; //是否显示其它页文本
var regexp = new RegExp(thisReplaceString "g"); //替换页数文本正则表达式
function GetFristPageString() {//获取首页文本
if (PagerBarFristBarFormat != "" && PagerBarPageIndex != ) {
return PagerBarFristBarFormatreplace(regexp );
}
else {
return "";
}
}
function GetPreviouPageString() { //获取上一页文本
if (PagerBarPreviouBarFormat != "") {
if (PagerBarRecordCount > PagerBarPageSize && PagerBarPageIndex != ) {//上一页HTML输出
return PagerBarPreviouBarFormatreplace(regexp PagerBarPageIndex );
}
else {
return "";
}
}
else {
return "";
}
}
function GetPageString() {//获取中间页数链接
var pagestr = "";
if (PagerBarCurrentBarFormat != "" && PagerBarPageBarFormat != "") {
var ShowPageFirest = PagerBarPageIndex parseInt(PagerBarShowPagesCount / + ) < ? : PagerBarPageIndex parseInt(PagerBarShowPagesCount / + ); //计算显示页数的其实页数
if (PagerBarPageCount < PagerBarShowPagesCount) {//当也总数小于显示页数量
ShowPageFirest = ;
}
else {
if (PagerBarPageIndex > (PagerBarPageCount parseInt(PagerBarShowPagesCount / + ))) {//当页总数在后几页显示
ShowPageFirest = PagerBarPageCount PagerBarShowPagesCount;
}
}
for (var i = ShowPageFirest; i < ShowPageFirest + PagerBarShowPagesCount; i++) {//循环出书页数文本
if (PagerBarPageIndex == i + ) {
pagestr += PagerBarCurrentBarFormatreplace(regexp i + );
}
else {
pagestr += PagerBarPageBarFormatreplace(regexp i + );
}
if (i >= PagerBarPageCount ) {//当到达页总数的时候挑出循环
break;
}
}
}
return pagestr;
}
function GetNextPageString() {//获取下一页链接
if (PagerBarNextBarFormat != "") {
if (PagerBarRecordCount > PagerBarPageSize && PagerBarPageIndex != PagerBarPageCount) {//输出下一页HTMl
return PagerBarNextBarFormatreplace(regexp PagerBarPageIndex + );
}
else {
return "";
}
}
else {
return "";
}
}
function GetLastPageString() {//获取尾页链接
if (PagerBarLastBarFormat != "" && PagerBarPageIndex != PagerBarPageCount && PagerBarRecordCount != ) {
return PagerBarLastBarFormatreplace(regexp PagerBarPageCount);
}
else {
return "";
}
}

function GetFrontOtherPageString() {//获取前其它页链接
if (PagerBarOtherBarFormat != "") {
if (PagerBarPageIndex > PagerBarShowPagesCount / + ) {
return PagerBarOtherBarFormatreplace(regexp PagerBarPageIndex PagerBarShowPagesCount <= ? : PagerBarPageIndex PagerBarShowPagesCount)
}
else {
return "";
}
}
else {
return "";
}
}
function GetAfterOtherPageString() {//获取后其它页链接
if (PagerBarOtherBarFormat != "") {
if (PagerBarPageIndex <= PagerBarPageCount PagerBarShowPagesCount / ) {
return PagerBarOtherBarFormatreplace(regexp
PagerBarPageIndex + PagerBarShowPagesCount >= PagerBarPageCount ? PagerBarPageCount : PagerBarPageIndex + PagerBarShowPagesCount);
}
else {
return "";
}
}
else {
return "";
}
}
function GetCurrentRecordPageString() {//获取当前记录文本
if (PagerBarCurrentRecordBarFormat != "") {
if (PagerBarRecordCount == ) {
return "";
}
else {
return PagerBarCurrentRecordBarFormatreplace("{}" (PagerBarPageIndex ) * PagerBarPageSize + )replace("{}" PagerBarPageIndex * PagerBarPageSize > PagerBarRecordCount ? PagerBarRecordCount : PagerBarPageIndex * PagerBarPageSize);
}
}
else return "";
}
function GetCurrentPageBarString() {//获取当前页记录文本
if (PagerBarCurrentPageBarFormat != "") {
return PagerBarCurrentPageBarFormatreplace(regexp PagerBarPageIndex);
}
else return "";
}
thisGetString = function (pageindex) {//输出HTML代码(全部模式)
if (pageindex != null && NumberRegextest(pageindex)) {//如果传入了页索引则赋值
thisPageIndex = parseInt(pageindex);
}
if (thisPageCount == ) {//如果没有计算过页总数则计算页总数
CalculatePageCount(thisPageSize thisRecordCount);
}
var pagestr = "";
if (thisIsShowCurrentPageString) {
pagestr = GetCurrentPageBarString();
}
if (thisIsShowCurrentRecordString) {
pagestr += GetCurrentRecordPageString();
}
if (thisIsShowFristString) {
pagestr += GetFristPageString();
}
if (thisIsShowPreviouString) {
pagestr += GetPreviouPageString();
}
if (thisIsShowOtherString) {
pagestr += GetFrontOtherPageString();
}
if (thisIsShowPageString) {
pagestr += GetPageString();
}
if (thisIsShowOtherString) {
pagestr += GetAfterOtherPageString();
}
if (thisIsShowNextString) {
pagestr += GetNextPageString();
}
if (thisIsShowLastString) {
pagestr += GetLastPageString();
}
return pagestr;
}
thisGetNormalString = function (pageindex) {
if (pageindex != null && NumberRegextest(pageindex)) {//如果传入了页索引则赋值
thisPageIndex = parseInt(pageindex);
}
if (thisPageCount == ) {//如果没有计算过页总数则计算页总数
CalculatePageCount(thisPageSize thisRecordCount);
}
var pagestr = "";
pagestr += GetFristPageString();
pagestr += GetPreviouPageString();
pagestr += GetPageString();
pagestr += GetNextPageString();
pagestr += GetLastPageString();
return pagestr;
}
thisGetSimpleString = function (pageindex) {
if (pageindex != null && NumberRegextest(pageindex)) {//如果传入了页索引则赋值
thisPageIndex = parseInt(pageindex);
}
if (thisPageCount == ) {//如果没有计算过页总数则计算页总数
CalculatePageCount(thisPageSize thisRecordCount);
}
var pagestr = "";
pagestr += GetPreviouPageString();
pagestr += GetCurrentPageBarString();
pagestr += GetNextPageString();
return pagestr;
}
}

使用示例

暂无

内容中需要的知识点
分页符《#PageLink》

上一篇:jQuery中获取Radio元素值的方法

下一篇:ExtJs设置GridPanel表格文本垂直居中示例