|
/**
* 分頁(yè)類構(gòu)造
* 參數(shù) nTotalList: 總條數(shù)
* 參數(shù) nPageSize: 每頁(yè)顯示條數(shù)
* 參數(shù) nPageNum: 當(dāng)前頁(yè)碼
* 參數(shù) sPageUrl: 分頁(yè)鏈接的URL,頁(yè)碼以[pn]代替,輸出時(shí)將被替換為實(shí)際頁(yè)碼
* 參數(shù) nPageListSize: 頁(yè)碼列表(下拉框)中顯示的最多頁(yè)碼條數(shù)。該參數(shù)可省略,默認(rèn)100
*/
function Pagination(nTotalList, nPageSize, nPageNum, sPageUrl, nPageListSize) {
this.totalList = nTotalList;
this.pageSize = nPageSize;
this.pageNum = nPageNum;
if (nTotalList == 0)
this.totalPages = 1;
else
this.totalPages = Math.floor((this.totalList-1)/this.pageSize + 1);
this.pageUrl = sPageUrl;
if (arguments[4])
this.pageListSize = nPageListSize;
else
this.pageListSize = 100;
}
/**
* 生成分頁(yè),將HTML直接輸出
* 無參數(shù)
* 無返回值
*/
Pagination.prototype.generate = function() {
var output = "";
output += "<table width=/"98%/" cellspacing=/"1/" cellpadding=/"3/" align=/"center/"><tr><td align=/"right/">";
output += "共 " + this.totalList + " 條 每頁(yè) " + this.pageSize + " 條 當(dāng)前第 ";
output += "<select onchange=/"if(this.value)location.href='" + this.pageUrl + "'.replace(///[pn//]/,";
output += "this.value);/" align=/"absMiddle/" style=/"font:normal 9px Verdana,Arial,宋體;/">";
var firstPage = this.pageNum - Math.floor(this.pageListSize/2);
if (firstPage < 1)
firstPage = 1;
var lastPage = firstPage + this.pageListSize - 1;
if (lastPage > this.totalPages) {
lastPage = this.totalPages;
firstPage = lastPage - this.pageListSize + 1;
if (firstPage < 1)
firstPage = 1;
}
if (firstPage > 1) {
output += "<option value=/"1/">1</option>";
if (firstPage > 2)
output += "<option value=/"/">…</option>";
}
for (var p = firstPage; p <= lastPage; p++) {
output += "<option value=/"" + p + "/"";
if (p == this.pageNum)
output += " selected=/"yes/"";
output += ">" + p + "</option>";
}
if (lastPage < this.totalPages) {
if (lastPage < this.totalPages - 1)
output += "<option value=/"/">…</option>";
output += "<option value=/"" + this.totalPages + "/">" + this.totalPages + "</option>";
}
if (this.pageNum > this.totalPages)
output += "<option value=/"/" selected=/"yes/">頁(yè)碼超出范圍</option>";
output += "</select>";
output += "/" + this.totalPages + " 頁(yè) ";
if (this.pageNum == 1) {
output += "[首頁(yè)] ";
output += "[上頁(yè)] ";
}
else {
output += "<a href=/"" + this.pageUrl.replace(//[pn/]/, "1") + "/">[首頁(yè)]</a> ";
output += "<a href=/"" + this.pageUrl.replace(//[pn/]/, this.pageNum-1) + "/">[上頁(yè)]</a> ";
}
if (this.pageNum == this.totalPages) {
output += "[下頁(yè)] ";
output += "[尾頁(yè)]";
}
else {
output += "<a href=/"" + this.pageUrl.replace(//[pn/]/, this.pageNum+1) + "/">[下頁(yè)]</a> ";
output += "<a href=/"" + this.pageUrl.replace(//[pn/]/, this.totalPages) + "/">[尾頁(yè)]</a> ";
}
output += "</td></tr></table>";
document.writeln(output);
}
JavaScript技術(shù):Javascript實(shí)現(xiàn)的分頁(yè)函數(shù),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。