当前位置:Gxlcms > JavaScript > js脚本分页代码分享(7种样式)

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

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

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

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

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

  1. <html>
  2. <head>
  3. <title>7种JS脚本分页代码</title>
  4. <style>
  5. body {font-size: 12px;}
  6. /* Pages Main Tyle */
  7. .pages {
  8. color: #000000;
  9. cursor: default;
  10. font-size: 10px;
  11. font-family: Tahoma, Verdana;
  12. padding: 3px 0px 3px 0px;
  13. }
  14. .pages .count, .pages .number, .pages .arrow {
  15. color: #000000;
  16. font-size: 10px;
  17. background-color: #F7F7F7;
  18. border: 1px solid #CCCCCC;
  19. }
  20. /* Page and PageCount Style */
  21. .pages .count {
  22. font-weight: bold;
  23. border-right: none;
  24. padding: 2px 10px 1px 10px;
  25. }
  26. /* Mode 0,1,2 Style (Number) */
  27. .pages .number {
  28. font-weight: normal;
  29. padding: 2px 10px 1px 10px;
  30. }
  31. .pages .number a, .pages .number span {
  32. font-size: 10px;
  33. }
  34. .pages .number span {
  35. color: #999999;
  36. margin: 0px 3px 0px 3px;
  37. }
  38. .pages .number a {
  39. color: #000000;
  40. text-decoration: none;
  41. }
  42. .pages .number a:hover {
  43. color: #0000ff;
  44. }
  45. /* Mode 3 Style (Arrow) */
  46. .pages .arrow {
  47. font-weight: normal;
  48. padding: 0px 5px 0px 5px;
  49. }
  50. .pages .arrow a, .pages .arrow span {
  51. font-size: 10px;
  52. font-family: Webdings;
  53. }
  54. .pages .arrow span {
  55. color: #999999;
  56. margin: 0px 5px 0px 5px;
  57. }
  58. .pages .arrow a {
  59. color: #000000;
  60. text-decoration: none;
  61. }
  62. .pages .arrow a:hover {
  63. color: #0000ff;
  64. }
  65. /* Mode 4 Style (Select) */
  66. .pages select, .pages input {
  67. color: #000000;
  68. font-size: 10px;
  69. font-family: Tahoma, Verdana;
  70. }
  71. /* Mode 5 Style (Input) */
  72. .pages .input input.ititle, .pages .input input.itext, .pages .input input.icount {
  73. color: #666666;
  74. font-weight: bold;
  75. background-color: #F7F7F7;
  76. border: 1px solid #CCCCCC;
  77. }
  78. .pages .input input.ititle {
  79. width: 70px;
  80. text-align: right;
  81. border-right: none;
  82. }
  83. .pages .input input.itext {
  84. width: 25px;
  85. color: #000000;
  86. text-align: right;
  87. border-left: none;
  88. border-right: none;
  89. }
  90. .pages .input input.icount {
  91. width: 35px;
  92. text-align: left;
  93. border-left: none;
  94. }
  95. .pages .input input.ibutton {
  96. height: 17px;
  97. color: #FFFFFF;
  98. font-weight: bold;
  99. font-family: Verdana;
  100. background-color: #999999;
  101. border: 1px solid #666666;
  102. padding: 0px 0px 2px 1px;
  103. margin-left: 2px;
  104. cursor: hand;
  105. }
  106. </style>
  107. <script language="JavaScript">
  108. <!--
  109. function showPages(name) { //初始化属性
  110. this.name = name; //对象名称
  111. this.page = 1; //当前页数
  112. this.pageCount = 1; //总页数
  113. this.argName = 'page'; //参数名
  114. this.showTimes = 1; //打印次数
  115. }
  116. showPages.prototype.getPage = function(){ //丛url获得当前页数,如果变量重复只获取最后一个
  117. var args = location.search;
  118. var reg = new RegExp('[\?&]?' + this.argName + '=([^&]*)[&$]?', 'gi');
  119. var chk = args.match(reg);
  120. this.page = RegExp.$1;
  121. }
  122. showPages.prototype.checkPages = function(){ //进行当前页数和总页数的验证
  123. if (isNaN(parseInt(this.page))) this.page = 1;
  124. if (isNaN(parseInt(this.pageCount))) this.pageCount = 1;
  125. if (this.page < 1) this.page = 1;
  126. if (this.pageCount < 1) this.pageCount = 1;
  127. if (this.page > this.pageCount) this.page = this.pageCount;
  128. this.page = parseInt(this.page);
  129. this.pageCount = parseInt(this.pageCount);
  130. }
  131. showPages.prototype.createHtml = function(mode){ //生成html代码
  132. var strHtml = '', prevPage = this.page - 1, nextPage = this.page + 1;
  133. if (mode == '' || typeof(mode) == 'undefined') mode = 0;
  134. switch (mode) {
  135. case 0 : //模式1 (页数,首页,前页,后页,尾页)
  136. strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
  137. strHtml += '<span class="number">';
  138. if (prevPage < 1) {
  139. strHtml += '<span title="First Page">«</span>';
  140. strHtml += '<span title="Prev Page">‹</span>';
  141. } else {
  142. strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
  143. strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
  144. }
  145. for (var i = 1; i <= this.pageCount; i++) {
  146. if (i > 0) {
  147. if (i == this.page) {
  148. strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
  149. } else {
  150. strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
  151. }
  152. }
  153. }
  154. if (nextPage > this.pageCount) {
  155. strHtml += '<span title="Next Page">›</span>';
  156. strHtml += '<span title="Last Page">»</span>';
  157. } else {
  158. strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">›</a></span>';
  159. strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">»</a></span>';
  160. }
  161. strHtml += '</span><br />';
  162. break;
  163. case 1 : //模式1 (10页缩略,首页,前页,后页,尾页)
  164. strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
  165. strHtml += '<span class="number">';
  166. if (prevPage < 1) {
  167. strHtml += '<span title="First Page">«</span>';
  168. strHtml += '<span title="Prev Page">‹</span>';
  169. } else {
  170. strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
  171. strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
  172. }
  173. if (this.page % 10 ==0) {
  174. var startPage = this.page - 9;
  175. } else {
  176. var startPage = this.page - this.page % 10 + 1;
  177. }
  178. if (startPage > 10) strHtml += '<span title="Prev 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage - 1) + ');">...</a></span>';
  179. for (var i = startPage; i < startPage + 10; i++) {
  180. if (i > this.pageCount) break;
  181. if (i == this.page) {
  182. strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
  183. } else {
  184. strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
  185. }
  186. }
  187. if (this.pageCount >= startPage + 10) strHtml += '<span title="Next 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage + 10) + ');">...</a></span>';
  188. if (nextPage > this.pageCount) {
  189. strHtml += '<span title="Next Page">›</span>';
  190. strHtml += '<span title="Last Page">»</span>';
  191. } else {
  192. strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">›</a></span>';
  193. strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">»</a></span>';
  194. }
  195. strHtml += '</span><br />';
  196. break;
  197. case 2 : //模式2 (前后缩略,页数,首页,前页,后页,尾页)
  198. strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
  199. strHtml += '<span class="number">';
  200. if (prevPage < 1) {
  201. strHtml += '<span title="First Page">«</span>';
  202. strHtml += '<span title="Prev Page">‹</span>';
  203. } else {
  204. strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
  205. strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
  206. }
  207. if (this.page != 1) strHtml += '<span title="Page 1"><a href="javascript:' + this.name + '.toPage(1);">[1]</a></span>';
  208. if (this.page >= 5) strHtml += '<span>...</span>';
  209. if (this.pageCount > this.page + 2) {
  210. var endPage = this.page + 2;
  211. } else {
  212. var endPage = this.pageCount;
  213. }
  214. for (var i = this.page - 2; i <= endPage; i++) {
  215. if (i > 0) {
  216. if (i == this.page) {
  217. strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
  218. } else {
  219. if (i != 1 && i != this.pageCount) {
  220. strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
  221. }
  222. }
  223. }
  224. }
  225. if (this.page + 3 < this.pageCount) strHtml += '<span>...</span>';
  226. if (this.page != this.pageCount) strHtml += '<span title="Page ' + this.pageCount + '"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">[' + this.pageCount + ']</a></span>';
  227. if (nextPage > this.pageCount) {
  228. strHtml += '<span title="Next Page">›</span>';
  229. strHtml += '<span title="Last Page">»</span>';
  230. } else {
  231. strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">›</a></span>';
  232. strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">»</a></span>';
  233. }
  234. strHtml += '</span><br />';
  235. break;
  236. case 3 : //模式3 (箭头样式,首页,前页,后页,尾页) (only IE)
  237. strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
  238. strHtml += '<span class="arrow">';
  239. if (prevPage < 1) {
  240. strHtml += '<span title="First Page">9</span>';
  241. strHtml += '<span title="Prev Page">7</span>';
  242. } else {
  243. strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">9</a></span>';
  244. strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">7</a></span>';
  245. }
  246. if (nextPage > this.pageCount) {
  247. strHtml += '<span title="Next Page">8</span>';
  248. strHtml += '<span title="Last Page">:</span>';
  249. } else {
  250. strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">8</a></span>';
  251. strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">:</a></span>';
  252. }
  253. strHtml += '</span><br />';
  254. break;
  255. case 4 : //模式4 (下拉框)
  256. if (this.pageCount < 1) {
  257. strHtml += '<select name="toPage" disabled>';
  258. strHtml += '<option value="0">No Pages</option>';
  259. } else {
  260. var chkSelect;
  261. strHtml += '<select name="toPage" onchange="' + this.name + '.toPage(this);">';
  262. for (var i = 1; i <= this.pageCount; i++) {
  263. if (this.page == i) chkSelect=' selected="selected"';
  264. else chkSelect='';
  265. strHtml += '<option value="' + i + '"' + chkSelect + '>Pages: ' + i + ' / ' + this.pageCount + '</option>';
  266. }
  267. }
  268. strHtml += '</select>';
  269. break;
  270. case 5 : //模式5 (输入框)
  271. strHtml += '<span class="input">';
  272. if (this.pageCount < 1) {
  273. strHtml += '<input type="text" name="toPage" value="No Pages" class="itext" disabled="disabled">';
  274. strHtml += '<input type="button" name="go" value="GO" class="ibutton" disabled="disabled"></option>';
  275. } else {
  276. strHtml += '<input type="text" value="Input Page:" class="ititle" readonly="readonly">';
  277. 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()">';
  278. strHtml += '<input type="text" value=" / ' + this.pageCount + '" class="icount" readonly="readonly">';
  279. strHtml += '<input type="button" name="go" value="GO" class="ibutton" onclick="' + this.name + '.toPage(document.getElementById(\'pageInput' + this.showTimes + '\').value);"></option>';
  280. }
  281. strHtml += '</span>';
  282. break;
  283. default :
  284. strHtml = 'Javascript showPage Error: not find mode ' + mode;
  285. break;
  286. }
  287. return strHtml;
  288. }
  289. showPages.prototype.createUrl = function (page) { //生成页面跳转url
  290. if (isNaN(parseInt(page))) page = 1;
  291. if (page < 1) page = 1;
  292. if (page > this.pageCount) page = this.pageCount;
  293. var url = location.protocol + '//' + location.host + location.pathname;
  294. var args = location.search;
  295. var reg = new RegExp('([\?&]?)' + this.argName + '=[^&]*[&$]?', 'gi');
  296. args = args.replace(reg,'$1');
  297. if (args == '' || args == null) {
  298. args += '?' + this.argName + '=' + page;
  299. } else if (args.substr(args.length - 1,1) == '?' || args.substr(args.length - 1,1) == '&') {
  300. args += this.argName + '=' + page;
  301. } else {
  302. args += '&' + this.argName + '=' + page;
  303. }
  304. return url + args;
  305. }
  306. showPages.prototype.toPage = function(page){ //页面跳转
  307. var turnTo = 1;
  308. if (typeof(page) == 'object') {
  309. turnTo = page.options[page.selectedIndex].value;
  310. } else {
  311. turnTo = page;
  312. }
  313. self.location.href = this.createUrl(turnTo);
  314. }
  315. showPages.prototype.printHtml = function(mode){ //显示html代码
  316. this.getPage();
  317. this.checkPages();
  318. this.showTimes += 1;
  319. document.write('<div id="pages_' + this.name + '_' + this.showTimes + '" class="pages"></div>');
  320. document.getElementById('pages_' + this.name + '_' + this.showTimes).innerHTML = this.createHtml(mode);
  321. }
  322. showPages.prototype.formatInputPage = function(e){ //限定输入页数格式
  323. var ie = navigator.appName=="Microsoft Internet Explorer"?true:false;
  324. if(!ie) var key = e.which;
  325. else var key = event.keyCode;
  326. if (key == 8 || key == 46 || (key >= 48 && key <= 57)) return true;
  327. return false;
  328. }
  329. //-->
  330. </script>
  331. </head>
  332. <body>
  333. <p>
  334. <script language="JavaScript">
  335. <!--
  336. var pg = new showPages('pg');
  337. pg.pageCount =12; // 定义总页数(必要)
  338. //pg.argName = 'p'; // 定义参数名(可选,默认为page)
  339. document.write('<br>Show Times: ' + pg.showTimes + ', Mood Default');
  340. pg.printHtml();
  341. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 0');
  342. pg.printHtml(0);
  343. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 1');
  344. pg.printHtml(1);
  345. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 2');
  346. pg.printHtml(2);
  347. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 3 (only IE)');
  348. pg.printHtml(3);
  349. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 4');
  350. pg.printHtml(4);
  351. document.write('<br>Show Times: ' + pg.showTimes + ', Mood 5');
  352. pg.printHtml(5);
  353. //-->
  354. </script>
  355. </p>
  356. </body>
  357. </html>

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

人气教程排行