Вызов:
Скопируйте код кода следующим образом:
вар pageChange = функция (индекс) {
var html = pager("divid", index, 5, 1000, pageChange, { showGoTo: false, showFirst: false });
}
выполнить:
Скопируйте код кода следующим образом:
пейджер = функция (divPager, pageIndex, pageSize, totalCount, pageChange, opt) {
вар theOpt = {
barSize: 5, //Количество страниц, отображаемых на панели подкачки
barTemplate: "{bar} составляет {totalPage} страниц {totalCount} элементов {goto}", // шаблон отображения
autoHide: true, //Скрывать ли автоматически
showFirst: true, //Будет ли автоматически отображаться ссылка на первую страницу, когда totalPage>barSize
showLast: true, //Будет ли автоматически отображаться ссылка на последнюю страницу, когда totalPage>barSize
showGoTo: true, //Отображать ли GoTo
autoHideGoTo: true //Если их слишком мало, следует ли автоматически скрывать GoTo
};
если (опт) {
если(opt.barSize)
theOpt.barSize = opt.barSize;
если (opt.barTemplate)
theOpt.barTemplate = opt.barTemplate;
если (opt.autoHide == false)
theOpt.autoHide = ложь;
если (opt.showFirst == false)
theOpt.showFirst = ложь;
если (opt.showLast = ложь)
theOpt.showLast = ложь;
если (opt.showGoTo == ложь)
theOpt.showGoTo = ложь;
если (opt.autoHideGoTo == false)
theOpt.autoHideGoTo = ложь;
}
var handles = window.myPagerChanges = (function (x) { return x; } (window.myPagerChanges || {}));
если (!myPagerChanges[divPager]) myPagerChanges[divPager] = pageChange;
var startPage = 0 // Стартовая страница панели подкачки;
var endPage = 0 // Конечная страница панели страниц;
вар showFirst = правда;
вар showLast = правда;
если (isNaN(pageIndex)) {
индекс страницы = 1;
}
pageIndex = parseInt(pageIndex);
если (индекс страницы <= 0)
индекс страницы = 1;
если (pageIndex * pageSize > totalCount) {
pageIndex = Math.ceil(totalCount/pageSize);
}
if (totalCount == 0) { //Если данных нет
document.getElementById(divPager).innerHTML = "";
возвращаться "";
}
вар totalPage = Math.ceil(totalCount/pageSize);
if (theOpt.autoHide && totalCount <= pageSize) { //Автоматически скрыть
document.getElementById(divPager).innerHTML = "";
возвращаться "";
}
если (totalPage <= theOpt.barSize) {
СтартПейдж = 1;
конечная страница = this.totalPage;
theOpt.showLast = theOpt.showFirst = ложь;
}
еще {
if (pageIndex <= Math.ceil(theOpt.barSize / 2)) { //Первые несколько страниц
СтартПейдж = 1;
endPage = theOpt.barSize;
theOpt.showFirst = ложь;
}
else if (pageIndex > (totalPage - theOpt.barSize / 2)) { //Последние несколько страниц
startPage = totalPage - theOpt.barSize + 1;
конечная страница = общая страница;
theOpt.showLast = ложь;
}
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 = ложь;
}
}
функция _getLink(индекс, txt) {
если (!txt) txt = индекс;
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, "Предыдущая страница");
если (theOpt.showFirst) {
barHtml += _getLink(1) + "<span>...</span>";
}
for (var index = startPage; index <= endPage; index++) {
если (индекс == индекс страницы) {
barHtml += "<span style='color:red;font-weight:blod; '>" + index + "</span>";
}
еще {
barHtml += _getLink(индекс);
}
}
если (theOpt.showLast) {
barHtml += "<span>...</span>" + _getLink(totalPage);
}
barHtml += pageIndex == totalPage ? "" : _getLink(pageIndex + 1, "следующая страница");
var gotoHtml = "" // поле перехода и кнопка
if (theOpt.showGoTo && theOpt.barTemplate.indexOf("{goto}") > 0) {
if ((theOpt.autoHideGoTo && totalPage > 15) || theOpt.autoHideGoTo == false) {
вар 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;
вернуть пейджерHtml;
};