js脚本分页代码分享(7种样式)


Posted in Javascript onAugust 19, 2015

本文跟大家分享了7种JS脚本分页样式,相信总有一款是适合你的哦

抓紧先上图给大家挑选一下------------------运行效果-------------------

js脚本分页代码分享(7种样式)

其实小编挺喜欢最后一款的,亲,你呐?

为大家再分享实现JS脚本分页的代码,直接复制代码,运行即可,抓紧试试吧

<html>
<head>

<title>7种JS脚本分页代码</title>
<style>
body {font-size: 12px;}

/* Pages Main Tyle */
.pages {
 color: #000000;
 cursor: default;
 font-size: 10px;
 font-family: Tahoma, Verdana;
 padding: 3px 0px 3px 0px;
}
.pages .count, .pages .number, .pages .arrow {
 color: #000000;
 font-size: 10px;
 background-color: #F7F7F7;
 border: 1px solid #CCCCCC;
}
/* Page and PageCount Style */
.pages .count {
 font-weight: bold;
 border-right: none;
 padding: 2px 10px 1px 10px;
}
/* Mode 0,1,2 Style (Number) */
.pages .number {
 font-weight: normal;
 padding: 2px 10px 1px 10px;
}
.pages .number a, .pages .number span {
 font-size: 10px;
}
.pages .number span {
 color: #999999;
 margin: 0px 3px 0px 3px;
}
.pages .number a {
 color: #000000;
 text-decoration: none;
}
.pages .number a:hover {
 color: #0000ff;
}
/* Mode 3 Style (Arrow) */
.pages .arrow {
 font-weight: normal;
 padding: 0px 5px 0px 5px;
}
.pages .arrow a, .pages .arrow span {
 font-size: 10px;
 font-family: Webdings;
}
.pages .arrow span {
 color: #999999;
 margin: 0px 5px 0px 5px;
}
.pages .arrow a {
 color: #000000;
 text-decoration: none;
}
.pages .arrow a:hover {
 color: #0000ff;
}
/* Mode 4 Style (Select) */
.pages select, .pages input {
 color: #000000;
 font-size: 10px;
 font-family: Tahoma, Verdana;
}
/* Mode 5 Style (Input) */
.pages .input input.ititle, .pages .input input.itext, .pages .input input.icount {
 color: #666666;
 font-weight: bold;
 background-color: #F7F7F7;
 border: 1px solid #CCCCCC;
}
.pages .input input.ititle {
 width: 70px;
 text-align: right;
 border-right: none;
}
.pages .input input.itext {
 width: 25px;
 color: #000000;
 text-align: right;
 border-left: none;
 border-right: none;
}
.pages .input input.icount {
 width: 35px;
 text-align: left;
 border-left: none;
}
.pages .input input.ibutton {
 height: 17px;
 color: #FFFFFF;
 font-weight: bold;
 font-family: Verdana;
 background-color: #999999;
 border: 1px solid #666666;
 padding: 0px 0px 2px 1px;
 margin-left: 2px;
 cursor: hand;
}
</style>
<script language="JavaScript">
<!--


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;
 if (mode == '' || typeof(mode) == 'undefined') mode = 0;
 switch (mode) {
 case 0 : //模式1 (页数,首页,前页,后页,尾页)
 strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
 strHtml += '<span class="number">';
 if (prevPage < 1) {
 strHtml += '<span title="First Page">«</span>';
 strHtml += '<span title="Prev Page">‹</span>';
 } else {
 strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
 strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
 }
 for (var i = 1; i <= this.pageCount; i++) {
 if (i > 0) {
  if (i == this.page) {
  strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
  } else {
  strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</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 />';
 break;
 case 1 : //模式1 (10页缩略,首页,前页,后页,尾页)
 strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
 strHtml += '<span class="number">';
 if (prevPage < 1) {
 strHtml += '<span title="First Page">«</span>';
 strHtml += '<span title="Prev Page">‹</span>';
 } else {
 strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
 strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
 }
 if (this.page % 10 ==0) {
 var startPage = this.page - 9;
 } else {
 var startPage = this.page - this.page % 10 + 1;
 }
 if (startPage > 10) strHtml += '<span title="Prev 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage - 1) + ');">...</a></span>';
 for (var i = startPage; i < startPage + 10; i++) {
 if (i > this.pageCount) break;
 if (i == this.page) {
  strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
 } else {
  strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
 }
 }
 if (this.pageCount >= startPage + 10) strHtml += '<span title="Next 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage + 10) + ');">...</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 />';
 break;
 case 2 : //模式2 (前后缩略,页数,首页,前页,后页,尾页)
 strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
 strHtml += '<span class="number">';
 if (prevPage < 1) {
 strHtml += '<span title="First Page">«</span>';
 strHtml += '<span title="Prev Page">‹</span>';
 } else {
 strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
 strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
 }
 if (this.page != 1) strHtml += '<span title="Page 1"><a href="javascript:' + this.name + '.toPage(1);">[1]</a></span>';
 if (this.page >= 5) strHtml += '<span>...</span>';
 if (this.pageCount > this.page + 2) {
 var endPage = this.page + 2;
 } else {
 var endPage = this.pageCount;
 }
 for (var i = this.page - 2; i <= endPage; i++) {
 if (i > 0) {
  if (i == this.page) {
  strHtml += '<span title="Page ' + i + '">[' + 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 />';
 break;
 case 3 : //模式3 (箭头样式,首页,前页,后页,尾页) (only IE)
 strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
 strHtml += '<span class="arrow">';
 if (prevPage < 1) {
 strHtml += '<span title="First Page">9</span>';
 strHtml += '<span title="Prev Page">7</span>';
 } else {
 strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">9</a></span>';
 strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">7</a></span>';
 }
 if (nextPage > this.pageCount) {
 strHtml += '<span title="Next Page">8</span>';
 strHtml += '<span title="Last Page">:</span>';
 } else {
 strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">8</a></span>';
 strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">:</a></span>';
 }
 strHtml += '</span><br />';
 break;
 case 4 : //模式4 (下拉框)
 if (this.pageCount < 1) {
 strHtml += '<select name="toPage" disabled>';
 strHtml += '<option value="0">No Pages</option>';
 } else {
 var chkSelect;
 strHtml += '<select name="toPage" onchange="' + this.name + '.toPage(this);">';
 for (var i = 1; i <= this.pageCount; i++) {
  if (this.page == i) chkSelect=' selected="selected"';
  else chkSelect='';
  strHtml += '<option value="' + i + '"' + chkSelect + '>Pages: ' + i + ' / ' + this.pageCount + '</option>';
 }
 }
 strHtml += '</select>';
 break;
 case 5 : //模式5 (输入框)
 strHtml += '<span class="input">';
 if (this.pageCount < 1) {
 strHtml += '<input type="text" name="toPage" value="No Pages" class="itext" disabled="disabled">';
 strHtml += '<input type="button" name="go" value="GO" class="ibutton" disabled="disabled"></option>';
 } else {
 strHtml += '<input type="text" value="Input Page:" class="ititle" readonly="readonly">';
 strHtml += '<input type="text" id="pageInput' + this.showTimes + '" value="' + this.page + '" class="itext" title="Input page" onkeypress="return ' + this.name + '.formatInputPage(event);" onfocus="this.select()">';
 strHtml += '<input type="text" value=" / ' + this.pageCount + '" class="icount" readonly="readonly">';
 strHtml += '<input type="button" name="go" value="GO" class="ibutton" onclick="' + this.name + '.toPage(document.getElementById(\'pageInput' + this.showTimes + '\').value);"></option>';
 }
 strHtml += '</span>';
 break;
 default :
 strHtml = 'Javascript showPage Error: not find mode ' + mode;
 break;
 }
 return strHtml;
}
showPages.prototype.createUrl = function (page) { //生成页面跳转url
 if (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 + '" class="pages"></div>');
 document.getElementById('pages_' + this.name + '_' + this.showTimes).innerHTML = this.createHtml(mode);
 
}
showPages.prototype.formatInputPage = function(e){ //限定输入页数格式
 var ie = navigator.appName=="Microsoft Internet Explorer"?true:false;
 if(!ie) var key = e.which;
 else var key = event.keyCode;
 if (key == 8 || key == 46 || (key >= 48 && key <= 57)) return true;
 return false;
}
//-->
</script>
</head>

<body>
<p>
 <script language="JavaScript">
<!--
var pg = new showPages('pg');
pg.pageCount =12; // 定义总页数(必要)
//pg.argName = 'p'; // 定义参数名(可选,默认为page)

document.write('<br>Show Times: ' + pg.showTimes + ', Mood Default');
pg.printHtml();
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 0');
pg.printHtml(0);
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 1');
pg.printHtml(1);
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 2');
pg.printHtml(2);
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 3 (only IE)');
pg.printHtml(3);
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 4');
pg.printHtml(4);
document.write('<br>Show Times: ' + pg.showTimes + ', Mood 5');
pg.printHtml(5);
//-->
 </script>
</p>
</body>
</html>

以上就是以上就是为大家分享的js脚本分页代码,希望大家可以喜欢。

Javascript 相关文章推荐
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 Javascript
Jquery性能优化详解
May 15 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
详解 vue.js用法和特性
Oct 15 Javascript
通过js控制时间,一秒一秒自己动的实例
Oct 25 Javascript
vue组件生命周期详解
Nov 07 Javascript
vue-router 源码实现前端路由的两种方式
Jul 02 Javascript
Angular封装表单控件及思想总结
Dec 11 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 Javascript
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
贴近用户体验的Jquery日期、时间选择插件
Aug 19 #Javascript
JS文字球状放大效果代码分享
Aug 19 #Javascript
IE6兼容透明背景图片及解决方案
Aug 19 #Javascript
JavaScript实现表格快速变色效果代码
Aug 19 #Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 #Javascript
JS时间特效最常用的三款
Aug 19 #Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 #Javascript
You might like
编写PHP的安全策略
2006/10/09 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
offsetParent 算法分析
2010/04/05 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
银行党员批评与自我批评
2014/10/15 职场文书
接待员岗位职责
2015/02/13 职场文书
放假通知
2015/04/14 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
sass 常用备忘案例详解
2021/09/15 HTML / CSS