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 = parseInt(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 = 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 = "当前记录{0}-{1}"; //当前记录显示文本格式
this.IsShowCurrentRecordString = true; //是否显示当前记录
this.CurrentPageBarFormat = "当前第" + this.ReplaceString + "页,共" + (this.PageCount == 0 ? 1 : this.PageCount) + "页"; //当前页文字说明文本格式
this.IsShowCurrentPageString = true; //是否显示当前页文字说明文本
this.OtherBarFormat = ""; //其他也显示文本
this.IsShowOtherString = true; //是否显示其它页文本
var regexp = new RegExp(this.ReplaceString, "g"); //替换页数文本正则表达式
function GetFristPageString() {//获取首页文本
if (PagerBar.FristBarFormat != "" && PagerBar.PageIndex != 1) {
return PagerBar.FristBarFormat.replace(regexp, 1);
}
else {
return "";
}
}
function GetPreviouPageString() { //获取上一页文本
if (PagerBar.PreviouBarFormat != "") {
if (PagerBar.RecordCount > PagerBar.PageSize && PagerBar.PageIndex != 1) {//上一页HTML输出
return PagerBar.PreviouBarFormat.replace(regexp, PagerBar.PageIndex - 1);
}
else {
return "";
}
}
else {
return "";
}
}
function GetPageString() {//获取中间页数链接
var pagestr = "";
if (PagerBar.CurrentBarFormat != "" && PagerBar.PageBarFormat != "") {
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;
}
else {
if (PagerBar.PageIndex > (PagerBar.PageCount - parseInt(PagerBar.ShowPagesCount / 2 + 1))) {//当页总数在后几页显示
ShowPageFirest = PagerBar.PageCount - PagerBar.ShowPagesCount;
}
}
for (var i = ShowPageFirest; i < ShowPageFirest + PagerBar.ShowPagesCount; i++) {//循环出书页数文本
if (PagerBar.PageIndex == i + 1) {
pagestr += PagerBar.CurrentBarFormat.replace(regexp, i + 1);
}
else {
pagestr += PagerBar.PageBarFormat.replace(regexp, i + 1);
}
if (i >= PagerBar.PageCount - 1) {//当到达页总数的时候挑出循环
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 + 1);
}
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 "";
}
}
function 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 "";
}
}
else {
return "";
}
}
function GetAfterOtherPageString() {//获取后其它页链接
if (PagerBar.OtherBarFormat != "") {
if (PagerBar.PageIndex <= PagerBar.PageCount - PagerBar.ShowPagesCount / 2) {
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 == 0) {
return "";
}
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);
}
}
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 == 0) {//如果没有计算过页总数,则计算页总数
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 == 0) {//如果没有计算过页总数,则计算页总数
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 == 0) {//如果没有计算过页总数,则计算页总数
CalculatePageCount(this.PageSize, this.RecordCount);
}
var pagestr = "";
pagestr += GetPreviouPageString();
pagestr += GetCurrentPageBarString();
pagestr += GetNextPageString();
return pagestr;
}
}
使用示例:
暂无
内容中需要的知识点
分页符《#PageLink》
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]