本文实例讲述了JavaScript分页功能的实现方法。分享给大家供大家参考。具体实现方法如下:
<script> //定义page为全局变量,以便下面使用 var page; window.onload = function() { var table = document.getElementById("table"); var btnAdd = document.getElementById("btnAdd"); var btnModify = document.getElementById("btnModify"); var btnDel = document.getElementById("btnDel"); var btnRefresh = document.getElementById("btnRefresh"); var headCheck = document.getElementById("headCheck"); //定义每页的页数及初始化table和tbody的id page = new Page(5, 'table', 'sTBodyId'); //初始加载init方法 page.__init__(); //初始更新表格 page.__updateTableRows__(); } //下面的所有方法,均写到window.onload之外,否则运行有问题 function Page(iAbsolute, sTableId, sTBodyId) { //每页显示数据的条数 this.absolute = iAbsolute; this.tableId = sTableId; this.tBodyId = sTBodyId; this.rowCount = 0;//记录数 this.pageCount = 0;//页数 this.pageIndex = 0;//页索引 this.__oTable__ = null;//表格引用 this.__oTBody__ = null;//要分页内容 this.__dataRows__ = 0;//记录行引用 this.__oldTBody__ = null; } //初始化 Page.prototype.__init__ = function() { //获取table引用 this.__oTable__ = document.getElementById(this.tableId); //获取tBody引用 this.__oTBody__ = this.__oTable__.tBodies[this.tBodyId]; //获取tbody的行 this.__dataRows__ = this.__oTBody__.rows; //获取tbody的总行数 this.rowCount = this.__dataRows__.length; try { //判断初始化时每页显示的数据条数,如果定义的值<0或者定义的值>本来就有的行数,那么初始化时显示本来的行数,否则为当前定义的行数 this.absolute = (this.absolute <= 0) || (this.absolute > this.rowCount) "TBODY"); //给他赋一个id值,为原来的id值 newTBody.setAttribute("id", this.tBodyId); for (var i = iCurrentRowCount; i < this.absolute + iCurrentRowCount - iMoreRow; i++) { //重新给body添加节点 newTBody.appendChild(tempRows[i]); } //将新创建的tbody加到table中 this.__oTable__.appendChild(newTBody); /* this.dataRows为this.oTBody的一个引用, 移除this.oTBody那么this.dataRows引用将销失, code:this.dataRows = tempRows;恢复原始操作行集合. */ this.__dataRows__ = tempRows; this.__oTBody__ = newTBody; } //克隆原始操作行集合 Page.prototype.__cloneRows__ = function() { var tempRows = []; //将当前body中的所有节点及其子节点都克隆一遍 for (var i = 0; i < this.__dataRows__.length; i++) { tempRows[i] = this.__dataRows__[i].cloneNode(1); } return tempRows; } </script> </head> <body> <!-- 这里有一个表格,内容随意,供分页使用 --> <table width="100%" cellpadding="0" cellspacing="0" border="1" style="padding: 2"> <tr> <td colspan="3" align="center">总共:<%=connDataList.size()%>条记录 每页显示5条 <a href="javascript:void(0);" onclick="page.firstPage();return false;">首页</a> <a href="javascript:void(0);" onclick="page.prePage();return false;">上一页</a> <a href="javascript:void(0);" onclick="page.nextPage();return false;">下一页</a> <a href="javascript:void(0);" onclick="page.lastPage();return false;">尾页</a> <span id="pageindex"></span> </td> </tr> </table> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。
标签:
JavaScript,分页功能
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“JavaScript分页功能的实现方法”评论...
更新动态
2024年11月13日
2024年11月13日
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子