仿javaeye的js分页类
/*showPages v1.1----------------------var pg = new showPages('pg');pg.pageCount = 12; //定义总页数(必要)pg.argName = 'p'; //定义参数名(可选,缺省为page)pg.printHtml(); //显示页数Supported in Internet Explorer, Mozilla Firefox*/function showPages(name) { //初始化属性this.name = name; //对象名称this.page = 1; //当前页数this.pageCount = 1; //总页数this.argName = 'page'; //参数名this.showTimes = 1; //打印次数}showPages.prototype.getPage = function(){ //丛url获得当前页数,如果变量重复只获取最后一个var args = location.search;var reg = new RegExp('[\?&]?' + this.argName + '=([^&]*)[&$]?', 'gi');var chk = args.match(reg);this.page = RegExp.$1;}showPages.prototype.checkPages = function(){ //进行当前页数和总页数的验证if (isNaN(parseInt(this.page))) this.page = 1;if (isNaN(parseInt(this.pageCount))) this.pageCount = 1;if (this.page < 1) this.page = 1;if (this.pageCount < 1) this.pageCount = 1;if (this.page > this.pageCount) this.page = this.pageCount;this.page = parseInt(this.page);this.pageCount = parseInt(this.pageCount);}showPages.prototype.createHtml = function(mode){ //生成html代码var strHtml = '', prevPage = this.page - 1, nextPage = this.page + 1;//strHtml += '<span style="color:red">[' + i + ']</span>';} else {if (i != 1 && i != this.pageCount) {strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';}}}}if (this.page + 3 < this.pageCount) strHtml += '<span>...</span>';if (this.page != this.pageCount) strHtml += '<span title="Page ' + this.pageCount + '"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">[' + this.pageCount + ']</a></span>';if (nextPage > this.pageCount) {strHtml += ' <span title="Next Page">下一页</span>';strHtml += ' <span title="Last Page">尾页</span>';} else {strHtml += ' <span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">下一页</a></span>';strHtml += ' <span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">尾页</a></span>';}strHtml += '</span><br />';return strHtml;}showPages.prototype.createUrl = function (page) { //生成页面跳转urlif (isNaN(parseInt(page))) page = 1;if (page < 1) page = 1;if (page > this.pageCount) page = this.pageCount;var url = location.protocol + '//' + location.host + location.pathname;var args = location.search;var reg = new RegExp('([\?&]?)' + this.argName + '=[^&]*[&$]?', 'gi');args = args.replace(reg,'$1');if (args == '' || args == null) {args += '?' + this.argName + '=' + page;} else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {args += this.argName + '=' + page;} else {args += '&' + this.argName + '=' + page;}return url + args;}showPages.prototype.toPage = function(page){ //页面跳转var turnTo = 1;if (typeof(page) == 'object') {turnTo = page.options[page.selectedIndex].value;} else {turnTo = page;}self.location.href = this.createUrl(turnTo);}showPages.prototype.printHtml = function(mode){ //显示html代码this.getPage();this.checkPages();this.showTimes += 1;document.write('<div id="pages_' + this.name + '_' + this.showTimes + '" alt="仿javaeye的js分页种"><br>使用方法很简单</p>
<p>把楼主的代码全部复制下来,然后新建一个文件.js复制进去</p>
<p>?</p>
<pre name="code" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/showPages.js"></script>
</head>
<body>
<script type="text/javascript">
var pg = new showPages('pg');
pg.pageCount = 12; //定义总页数(必要)
pg.argName = 'p'; //定义参数名(可选,缺省为page)
pg.printHtml(); //显示页数
</script>
</body>
</html></pre>
?