源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Javascript实现的分页函数

  • 时间:2020-04-19 02:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Javascript实现的分页函数
/**  * 分页类构造  * 参数 nTotalList: 总条数  * 参数 nPageSize: 每页显示条数  * 参数 nPageNum: 当前页码  * 参数 sPageUrl: 分页链接的URL,页码以[pn]代替,输出时将被替换为实际页码  * 参数 nPageListSize: 页码列表(下拉框)中显示的最多页码条数。该参数可省略,默认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; } /**  * 生成分页,将HTML直接输出  * 无参数  * 无返回值  */ Pagination.prototype.generate = function() {   var output = "";   output += "<table width=\"98%\" cellspacing=\"1\" cellpadding=\"3\" align=\"center\"><tr><td align=\"right\">";   output += "共 " + this.totalList + " 条 每页 " + this.pageSize + " 条 当前第 ";   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\">页码超出范围</option>";   output += "</select>";   output += "/" + this.totalPages + " 页 ";   if (this.pageNum == 1) {     output += "[首页] ";     output += "[上页] ";   }   else {     output += "<a href=\"" + this.pageUrl.replace(/\[pn\]/, "1") + "\">[首页]</a> ";     output += "<a href=\"" + this.pageUrl.replace(/\[pn\]/, this.pageNum-1) + "\">[上页]</a> ";   }   if (this.pageNum == this.totalPages) {     output += "[下页] ";     output += "[尾页]";   }   else {     output += "<a href=\"" + this.pageUrl.replace(/\[pn\]/, this.pageNum+1) + "\">[下页]</a> ";     output += "<a href=\"" + this.pageUrl.replace(/\[pn\]/, this.totalPages) + "\">[尾页]</a> ";   }   output += "</td></tr></table>";   document.writeln(output); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部