`
shaq34
  • 浏览: 22610 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

jQuery实现页面级分页

阅读更多
这是一个页面级的分页,先获取页面表格,然后对表格进行分页。
需要页面加载完成才能获得表格,所以js代码应该在表格最后。
我的方法是把显示按钮的层与js代码写到自定义标签里。按钮当然是放在表格之后
提供下载的例子是可以直接演示的。

表格部分
<table>
			<thead>
				<tr>
					<th width="4%">
						&nbsp;
					</th>
					<th width="5%">
						EMPNO
					</th>
					<th width="12%">
						ENAME
					</th>
					<th width="12%">
						JOB
					</th>
					<th width="19%">
						MGR
					</th>
					<th width="19%">
						HIREDATE
					</th>
					<th width="12%">
						SAL
					</th>
					<th width="12%">
						COMM
					</th>
					<th width="4%">
						DEPTNO
					</th>
				</tr>
			</thead>
			<tbody id="tbody1" style="display: none;">
				<TR>
					<TD>
						1
					</TD>
					<TD>
						7369
					</TD>
					<TD>
						SMITH
					</TD>
					<TD>
						CLERK
					</TD>
					<TD>
						7902
					</TD>
					<TD>
						1980-12-17
					</TD>
					<TD>
						800.00
					</TD>
					<TD></TD>
					<TD>
						20
					</TD>
				</TR>
				<TR>
					<TD>
						2
					</TD>
					<TD>
						7499
					</TD>
					<TD>
						ALLEN
					</TD>
					<TD>
						SALESMAN
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						1981-2-20
					</TD>
					<TD>
						1600.00
					</TD>
					<TD>
						300.00
					</TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						3
					</TD>
					<TD>
						7521
					</TD>
					<TD>
						WARD
					</TD>
					<TD>
						SALESMAN
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						1981-2-22
					</TD>
					<TD>
						1250.00
					</TD>
					<TD>
						500.00
					</TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						4
					</TD>
					<TD>
						7566
					</TD>
					<TD>
						JONES
					</TD>
					<TD>
						MANAGER
					</TD>
					<TD>
						7839
					</TD>
					<TD>
						1981-4-2
					</TD>
					<TD>
						2975.00
					</TD>
					<TD></TD>
					<TD>
						20
					</TD>
				</TR>
				<TR>
					<TD>
						5
					</TD>
					<TD>
						7654
					</TD>
					<TD>
						MARTIN
					</TD>
					<TD>
						SALESMAN
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						1981-9-28
					</TD>
					<TD>
						1250.00
					</TD>
					<TD>
						1400.00
					</TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						6
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						BLAKE
					</TD>
					<TD>
						MANAGER
					</TD>
					<TD>
						7839
					</TD>
					<TD>
						1981-5-1
					</TD>
					<TD>
						2850.00
					</TD>
					<TD></TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						7
					</TD>
					<TD>
						7782
					</TD>
					<TD>
						CLARK
					</TD>
					<TD>
						MANAGER
					</TD>
					<TD>
						7839
					</TD>
					<TD>
						1981-6-9
					</TD>
					<TD>
						2450.00
					</TD>
					<TD></TD>
					<TD>
						10
					</TD>
				</TR>
				<TR>
					<TD>
						8
					</TD>
					<TD>
						7788
					</TD>
					<TD>
						SCOTT
					</TD>
					<TD>
						ANALYST
					</TD>
					<TD>
						7566
					</TD>
					<TD>
						1987-4-19
					</TD>
					<TD>
						3000.00
					</TD>
					<TD></TD>
					<TD>
						20
					</TD>
				</TR>
				<TR>
					<TD>
						9
					</TD>
					<TD>
						7839
					</TD>
					<TD>
						KING
					</TD>
					<TD>
						PRESIDENT
					</TD>
					<TD>
						1981-11-17
					</TD>
					<TD>
						5000.00
					</TD>
					<TD></TD>
					<TD>
						10
					</TD>
				</TR>
				<TR>
					<TD>
						10
					</TD>
					<TD>
						7844
					</TD>
					<TD>
						TURNER
					</TD>
					<TD>
						SALESMAN
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						1981-9-8
					</TD>
					<TD>
						1500.00
					</TD>
					<TD>
						0.00
					</TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						11
					</TD>
					<TD>
						7876
					</TD>
					<TD>
						ADAMS
					</TD>
					<TD>
						CLERK
					</TD>
					<TD>
						7788
					</TD>
					<TD>
						1987-5-23
					</TD>
					<TD>
						1100.00
					</TD>
					<TD></TD>
					<TD>
						20
					</TD>
				</TR>
				<TR>
					<TD>
						12
					</TD>
					<TD>
						7900
					</TD>
					<TD>
						JAMES
					</TD>
					<TD>
						CLERK
					</TD>
					<TD>
						7698
					</TD>
					<TD>
						1981-12-3
					</TD>
					<TD>
						950.00
					</TD>
					<TD></TD>
					<TD>
						30
					</TD>
				</TR>
				<TR>
					<TD>
						13
					</TD>
					<TD>
						7902
					</TD>
					<TD>
						FORD
					</TD>
					<TD>
						ANALYST
					</TD>
					<TD>
						7566
					</TD>
					<TD>
						1981-12-3
					</TD>
					<TD>
						3000.00
					</TD>
					<TD></TD>
					<TD>
						20
					</TD>
				</TR>
				<TR>
					<TD>
						14
					</TD>
					<TD>
						7934
					</TD>
					<TD>
						MILLER
					</TD>
					<TD>
						CLERK
					</TD>
					<TD>
						7782
					</TD>
					<TD>
						1982-1-23
					</TD>
					<TD>
						1300.00
					</TD>
					<TD></TD>
					<TD>
						10
					</TD>
				</TR>
			</tbody>
		</table>
		<br />
		<div style="float: right;">
			共
			<span id="count"></span>页&nbsp;&nbsp; 当前第
			<span id="index"></span>页&nbsp;&nbsp;
			<input type="text" id="goText" size="3">
			<input type="button" id="goButton" value="GO">
			<input type="button" id="first" value="第一页">
			<input type="button" id="previous" value="上一页">
			<input type="button" id="next" value="下一页">
			<input type="button" id="last" value="最后页">
		</div>


js部分
<script type="text/javascript">
			//每页显示记录数
			var pageSize = 5;
			var content = $("#tbody1 > tr");
			//总记录数
			var recordCount = content.length;
			//总页数
			var pageCount = parseInt((recordCount + pageSize - 1) / pageSize);
			//显示总记录数
			$("#count").html(pageCount);
			
			function showRow(pageNum){
				var text="";
				var pageStart = (pageNum - 1) * pageSize;
				var pageEnd = pageStart + pageSize;
				//结束记录数大于总记录数,最后一页时
				if(pageEnd > recordCount){
					pageEnd = recordCount;
				}
				for(i=pageStart;i<pageEnd;i++){
					text += "<tr>"+content[i].innerHTML+"</tr>";
				}
				$("tbody").html(text);
				//显示当前第几页
				$("#index").html(pageNum);
			}
			
			$(function(){
				//当前页数标示,初始为1
				var pageIndex = 1;
			    showRow(pageIndex);
			    //页面舒适化时隐藏,完成分页后再显示
			    $("#tbody1").css("display","");
				//跳转到指定页
			    $("#goButton").click(function(){
					var obj = $("#goText")
					var text = obj.val();
					if(isNaN(text)){
						alert("请输入一个数字!");
						obj.select();
						obj.focus();
						return false;
					}else{
						var pageNum = parseInt(text);
						if(pageNum < 1 || pageNum > pageCount){
							alert("超出页码范围!");
							obj.select();
							obj.focus();
							return false;
						}else{
							obj.select();
							showRow(pageNum);
						}
					}
				});
				//首页
			    $("#first").click(function(){
					pageIndex = 1;
			        showRow(pageIndex);
			    });
				//最后一页
			    $("#last").click(function(){
					pageIndex = pageCount;
			        showRow(pageIndex);
			    });
				//上一页
			    $("#previous").click(function(){
				    if(pageIndex == 1){
				        alert("当前为第一页!");
				        return false;
				    }else{
				        pageIndex --;
				    }
				    showRow(pageIndex);
			    });
			    //下一页
			    $("#next").click(function(){
				    if(pageIndex == pageCount){
				        alert("当前最后一页!");
				        return false;
				    }else{
				        pageIndex ++;
				    }
				    showRow(pageIndex);
			    });
			});
		</script>
分享到:
评论

相关推荐

    原生JS打印插件之jQuery.EasyPrint.js使用文档

    JS怎么实现页面打印呢?JavaScript 实现打印,打印预览,打印设置;JS打印和报表输出;原生js打印插件Print.js;js控制分页打印、打印分页示例;js 打印插件;js使用window.print()实现打印功能;代码仅5kb; 自主研发...

    httpxmlRequest+ajax+jquery+fastjson+jsp异步通讯实战案例精讲

    项目内容从创建原生态的HTTPXMLRequest实现ajax开始,详细讲解ajax的应用,各种应用场合的实战案例;利用JQuery的ajax支持,...7.使用JQuery的ajax技术,在一个页面实现新增、修改、删除、查询、分页,文件上传等功能;

    jQuery网格插件ParamQuery.zip

    ParamQuery是一种轻量级的jQuery网格插件,基于用于用户界面控制、具有一致API的优秀设计模式jQueryUI Widget factory创建,能够在网页上展示各种类似于Excel和Google Spreadsheet效果的网格。 使用ParamQuery,...

    Tommy framework v1.0.2 易用的轻量级PHP框架.zip

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、等JQUERY插件,使用前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(琐展效果)、TAB菜单.、CHECKBOX的全选或反选效果等,让其变得得心应手。 五、提供了...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    JQuery事件之页面框架和加载后自动执行 JQuery扩展以及自动执行函数的应用 JQuery阻止事件发生 JQuery扩展 作业 第18周 内容概要 JS正则详解 JS正则详解之验证 组件BootStrap、EasyUI、JQueryUI 插件轮播 Django_...

    CMS轻量级系统

    3、前端页面自适应,支持PC和H5端,采用前后端分离的机制实现。后端支持天梯蓝和天梯红换肤功能。 4、项目技术分层明显,用户可以根据自己的业务模块进行相应地扩展,很方便二次开发。 核心框架:Spring Framework...

    Tommy framework v1.0.2.zip

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、等JQUERY插件,使用前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(琐展效果)、TAB菜单.、CHECKBOX的全选或反选效果等,让其变得得心应手。 五、提供了...

    DoitPHP 1.0

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、LAZYLOAD等JQUERY插件,使前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(锁屏效果)、TAB菜单.、CHECKBOX的全选或反选效果以及图片的惰性加载效果等,让其...

    网上书城day01.zip

    5. jQuery介绍 6. 项目前台功能介绍 * User模块 &gt; 注册 &gt; 激活 &gt; 登录 &gt; 修改密码 &gt; 退出 * Category模块 &gt; 显示所有分类 * Book模块 &gt; 按分类查询(分页) &gt; 按图名查询(模糊)(分页) &gt; 按作者查询...

    javaWeb传智播客网上书城项目源码(设计以及实现论文)

    &gt; 表单页面是jQuery做校验(包含了ajax异步请求) # 在输入框失去焦点时进行校验; # 在提交时对所有输入框进行校验; # 在输入框得到焦点时,隐藏错误信息。 &gt; 表单页面使用一次性图形验证码; &gt; 在servlet中再次做了...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    10-20 5 smarty二级联动 10-20 6 smarty完成静态化 10-20 7 10-20 8 smarty分页技术 10-20 9 10-22 1 ajax介绍 无刷新验证用户名 10-22 2 ajax如何处理xml格式返回数据 10-22 3 json 10-22 4 ajax如何处理json格式...

    DoitPHP 框架

    四、集成了JQUERY及JQUERY FORM、LAZYLOAD等JQUERY插件,使前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(锁屏效果)、TAB菜单.、CHECKBOX的全选或反选效果以及图片的惰性加载效果等,让其变得得心应手。 ...

    基于Spring MVC的web框架 1.1.11

    jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存...

    一个可以直接运行的基于SpringMVC的web框架1.1.12

    jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存...

    ExtJS4中文教程2 开发笔记 chm

    Jquery中显示隐藏的实现代码分析 JQuery全选功能的实现 JQuery特效——下拉菜单 JQuery系列教程之XPath选择符 JQuery系列教程之选择符 JQuery自动缩放页面中的图片 JQuery获取浏览器的高度和宽度 jquery获得和设置...

    可以直接运行的基于SpringMVC的web框架示例,也可以直接当公司框架

    jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存...

    PHP框架DoitPHP v1.3.zip

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、LAZYLOAD等JQUERY插件,使前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(锁屏效果)、TAB菜单.、CHECKBOX的全选或反选效果以及图片的惰性加载效果等,让其...

    PhP框架DoitPHP v1.5 MySql版.zip

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、LAZYLOAD等JQUERY插件,使前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(锁屏效果)、TAB菜单.、CHECKBOX的全选或反选效果以及图片的惰性加载效果等,让其...

    PHP框架DoitPHP v1.5 SAE版.zip

    四、集成了JQUERY及THICKBOX、TABS、JQUERY FORM、LAZYLOAD等JQUERY插件,使前端页面开发中实现AJAX LOADING图片加载效果、灯箱效果(锁屏效果)、TAB菜单.、CHECKBOX的全选或反选效果以及图片的惰性加载效果等,让其...

Global site tag (gtag.js) - Google Analytics