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;
}
}
使用示例:
1
2
|
< SCRIPT type = text /javascript> <!--mce:0--> </ SCRIPT > < STYLE > <!--mce:2--> </ STYLE > < DIV id = pager > </ DIV >< SCRIPT type = text /javascript> <!--mce:1--> </ SCRIPT >
< PRE ></ PRE >
|
JS分页控件,可用于无刷新分页相关推荐
- Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据
Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据 主要是利用 ASPxTreeList 点击事件回发服务器进行数据重新绑定 ASPxTreeList: ? 1 2 &l ...
- AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新
首先加入UpdatePanel <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode= ...
- php ajax无刷新分页源码,ajax实现无刷新分页(php)
投票结果 function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=ne ...
- 简单的ASP.NET无刷新分页
1.新建一个分页存储过程: CREATE procedure [dbo].[P_Pager] (@PageNumber int, @PageSize int) as declare @sql nvar ...
- MVC3学习第十三章 佟掌柜第二弹——MVC3下利用陕北吴旗娃的分页控件实现数据分页...
本章学习内容 1.了解陕北吴旗娃的Mvc分页控件 2.利用分页控件实现MVC3下的商品分页 3.利用分页控件实现MVC3下一个页面多个分页以及ajax分页效果 1.了解陕北吴旗娃的Mvc分页控件 在w ...
- Winform分页控件之纯分页显示处理
在之前介绍的Winform分页控件中,都以分页控件+显示表格控件作为一个整体性的控件,不可分开,这样做的目的是可以实现更多的操作,集成更多丰富的特性,减少我们开发的工作量,这种情况虽然适用于大多数的情 ...
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================ 最新版本:V ...
- 【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件
分页控件正式命名为 QuickPager ASP.NET2.0分页控件 . 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack .URL (暂时没有实现URL的分页 ...
- 使用amaze ui的分页样式封装一个通用的JS分页控件
作为一名码农,天天百度.偶尔谷歌,所有代码全靠copy,用第三方插件,偶尔也想着造造轮子,毕竟自己的骨肉总归比较亲. 今天有点空闲时间,想起我们公司之前套的页面的分页插件上还有bug,而写那个分页插件 ...
最新文章
- POJ-1041 John's trip
- php伪类型,解密PHP伪类型和伪变量的含义
- 开源,是一种新的平台之战
- MySQL中Myisam、InnoDB碎片优化
- 『TensorFlow』SSD源码学习_其二:基于VGG的SSD网络前向架构
- extundelete反删除总结
- 行人重识别的挑战与最新进展(35页PPT整理)
- IBM云计算架构师:Mesos新功能以及roadmap简介
- Trend Micro Password Manager 多个高危漏洞
- WPF 凭证分录控件
- Ubuntu16.04+NVIDIA显卡驱动安装步骤
- 深入研究Clang(十六) Clang Driver库的ToolChain
- 串口termios函数
- Arduino+DHT11+OLED显示温湿度信息(附详细文档+源码)
- 在哪些场景下要使用CDN加速服务
- VC++ 动态检测串口的热插拔(一)通过遍历实现
- NT151应用案例:西门子PLC S7-1200与派克ACR9000的通信(Part 3)
- hive中关键字作为列名的方法
- Android实现RecyclerView二级列表可折叠展开选中
- 动手学深度学习-pytorch 导入d2lzh_pytorch模块时报错 No moudel named 'd2lzh_pytorch'