JS分页
来源:互联网 发布:eclipse java tomcat 编辑:程序博客网 时间:2024/05/16 06:38
调用:
var
pageChange =
function
(index) {
var
html = pager(
"divid"
, index, 5, 1000, pageChange, { showGoTo:
false
, showFirst:
false
});
}
实现:
pager =
function
(divPager, pageIndex, pageSize, totalCount, pageChange, opt) {
var
theOpt = {
barSize: 5,
//分页条显示的页码数
barTemplate:
"{bar} 共{totalPage}页{totalCount}条 {goto}"
,
//显示模板
autoHide:
true
,
//是否自动隐藏
showFirst:
true
,
//在totalPage>barSize时是自动否显示第一页链接
showLast:
true
,
//在totalPage>barSize时是自动否显示最后一页链接
showGoTo:
true
,
//是否显示GoTo
autoHideGoTo:
true
//如果太少是否自动隐藏GoTo
};
if
(opt) {
if
(opt.barSize)
theOpt.barSize = opt.barSize;
if
(opt.barTemplate)
theOpt.barTemplate = opt.barTemplate;
if
(opt.autoHide ==
false
)
theOpt.autoHide =
false
;
if
(opt.showFirst ==
false
)
theOpt.showFirst =
false
;
if
(opt.showLast =
false
)
theOpt.showLast =
false
;
if
(opt.showGoTo ==
false
)
theOpt.showGoTo =
false
;
if
(opt.autoHideGoTo ==
false
)
theOpt.autoHideGoTo =
false
;
}
var
handles = window.myPagerChanges = (
function
(x) {
return
x; } (window.myPagerChanges || {}));
if
(!myPagerChanges[divPager]) myPagerChanges[divPager] = pageChange;
var
startPage = 0;
//分页条起始页
var
endPage = 0;
//分页条终止页
var
showFirst =
true
;
var
showLast =
true
;
if
(isNaN(pageIndex)) {
pageIndex = 1;
}
pageIndex = parseInt(pageIndex);
if
(pageIndex <= 0)
pageIndex = 1;
if
(pageIndex * pageSize > totalCount) {
pageIndex = Math.ceil(totalCount / pageSize);
}
if
(totalCount == 0) {
//如果没数据
document.getElementById(divPager).innerHTML =
""
;
return
""
;
}
var
totalPage = Math.ceil(totalCount / pageSize);
if
(theOpt.autoHide && totalCount <= pageSize) {
//自动隐藏
document.getElementById(divPager).innerHTML =
""
;
return
""
;
}
if
(totalPage <= theOpt.barSize) {
startPage = 1;
endPage =
this
.totalPage;
theOpt.showLast = theOpt.showFirst =
false
;
}
else
{
if
(pageIndex <= Math.ceil(theOpt.barSize / 2)) {
//最前几页时
startPage = 1;
endPage = theOpt.barSize;
theOpt.showFirst =
false
;
}
else
if
(pageIndex > (totalPage - theOpt.barSize / 2)) {
//最后几页时
startPage = totalPage - theOpt.barSize + 1;
endPage = totalPage;
theOpt.showLast =
false
;
}
else
{
//中间的页时
startPage = pageIndex - Math.ceil(theOpt.barSize / 2) + 1;
endPage = pageIndex + Math.floor(theOpt.barSize / 2);
}
if
(totalPage <= (theOpt.barSize * 1.5)) {
theOpt.showLast = theOpt.showFirst =
false
;
}
}
function
_getLink(index, txt) {
if
(!txt) txt = index;
return
"<a href='javascript:;' style='margin: 2px 5px;border: 1px solid #6d8cad;color: #0269BA;padding: 2px 5px;text-decoration: none;' onclick='myPagerChanges[\""
+ divPager +
"\"]("
+ index +
")'>"
+ txt +
"</a>"
;
}
var
barHtml =
""
;
//分页条
barHtml += pageIndex == 1 ?
""
: _getLink(pageIndex - 1,
"上一页"
);
if
(theOpt.showFirst) {
barHtml += _getLink(1) +
"<span>...</span>"
;
}
for
(
var
index = startPage; index <= endPage; index++) {
if
(index == pageIndex) {
barHtml +=
"<span style='color:red;font-weight:blod; '>"
+ index +
"</span>"
;
}
else
{
barHtml += _getLink(index);
}
}
if
(theOpt.showLast) {
barHtml +=
"<span>...</span>"
+ _getLink(totalPage);
}
barHtml += pageIndex == totalPage ?
""
: _getLink(pageIndex + 1,
"下一页"
);
var
gotoHtml =
""
;
//goto框及按钮
if
(theOpt.showGoTo && theOpt.barTemplate.indexOf(
"{goto}"
) > 0) {
if
((theOpt.autoHideGoTo && totalPage > 15) || theOpt.autoHideGoTo ==
false
) {
var
txtid = divPager +
"_goIndex"
;
var
indexVal =
"document.getElementById(\""
+ txtid +
"\").value"
;
gotoHtml +=
"<input type='text' onkeypress='if(event.keyCode==13){myPagerChanges[\""
+ divPager +
"\"]("
+ indexVal +
")}' id='"
+ txtid +
"' value="
+ pageIndex +
" style='width:30px'>"
;
gotoHtml +=
" <input type='button' class='page_bg' value='go' onclick='myPagerChanges[\""
+ divPager +
"\"]("
+ indexVal +
")'>"
;
}
}
//替换模板
var
pagerHtml = theOpt.barTemplate.replace(
"{bar}"
, barHtml)
.replace(
"{totalCount}"
, totalCount)
.replace(
"{pageIndex}"
, pageIndex)
.replace(
"{totalPage}"
, totalPage)
.replace(
"{goto}"
, gotoHtml);
document.getElementById(divPager).innerHTML = pagerHtml;
return
pagerHtml;
};
- js分页
- 分页js
- 分页JS
- js分页
- js分页
- js分页
- js分页
- js 分页
- js分页
- js 分页
- JS分页
- js 分页
- js分页
- JS分页
- JS 分页
- js 分页
- js 分页
- JS分页
- MySQL 批量模式
- Android属性之build.prop,及property_get/property_set
- POJ 1584 A Round Peg in a Ground Hole
- 时隔两年再读《编程之美》
- 深入剖析Android消息机制
- JS分页
- Eclipse和Maven的结合使用--Please make sure the -vm option in eclipse.ini
- javascript 日期时间转换
- ROWID
- 浅淡管理风格
- MFC CListCtrl的用法
- javascript 实现拖动效果
- Android应用程序开发的四个重要组成部分
- test