实用的静态前端分页实例

#################################### CSS样式 ###################################

.hotel-table{ border-collapse:collapse; width:100%;}
.hotel-table th{ font-weight:normal; background:#f0f0f0; color:#000; height:29px; line-height:29px; white-space:nowrap; }
.hotel-table td{text-align:center; height:28px; line-height:28px;color:#757575; line-height:20px;border-bottom:1px solid #f0f0f0; white-space:nowrap;}

###########################JavaScript脚本#################################
<script type="text/javascript">
var MAX_PAGE_SIZE = 12;
//更多列表空行及分页控件填充
$(document).ready(function() {
$(".hotel-table").each(function () {
var length = $(this).find("tbody tr").length;
var tdLength = $(this).find("thead tr th").length;
var tdHtml = "";
for (var i = 0; i < tdLength; i++) {
tdHtml += "<td></td>";
}
while (length % MAX_PAGE_SIZE != 0) {
$(this).find("tbody").append("<tr>" + tdHtml + "</tr>");
length++;
}
var pagerHtml = "";
for (var i = 0, j = length / MAX_PAGE_SIZE; i < j; i++) {
pagerHtml += "<a href=‘javascript:;‘ onclick=‘goPage1(this);‘ forward=‘" + (i + 1) + "‘>" + (i + 1) + "</a>";
}
$(this).closest("div").find(".page a").eq(1).after(pagerHtml);
$(this).closest("div").find(".page a").eq(2).addClass("current");
$(this).closest("div").find(".page a:first").trigger("click");
//goFirst();
});
});
//资源列表前台分页
function goFirst1(aObj) {
var divObj = $(aObj).closest("div").parent("div");
var tbodyObj = $(divObj).find(".hotel-table tbody");
$(tbodyObj).find("tr").each(function(n) {
if(n >= 0 && n < MAX_PAGE_SIZE) {
$(this).show();
}else{
$(this).hide();
}
});
$(divObj).find(".page").find("a.current").removeClass("current");
$(divObj).find(".page").find("a").eq(2).addClass("current");
}

function goPrev1(aObj) {
var divObj = $(aObj).closest("div").parent("div");
var forward = $(divObj).find(".page").find("a.current").attr("forward");
forward = parseInt(forward);
var tbodyObj = $(divObj).find(".hotel-table tbody");
if(forward != 1) {
forward--;
$(tbodyObj).find("tr").each(function(n) {
if(n >= MAX_PAGE_SIZE*(forward-1) && n < MAX_PAGE_SIZE*forward) {
$(this).show();
}else{
$(this).hide();
}
});
$(divObj).find(".page").find("a.current").removeClass("current").prev("a").addClass("current");
}
}

function goPage1(aObj) {
var divObj = $(aObj).closest("div").parent("div");
var forward = $(aObj).attr("forward");
forward = parseInt(forward);
var tbodyObj = $(divObj).find(".hotel-table tbody");
$(tbodyObj).find("tr").each(function(n) {
if(n >= MAX_PAGE_SIZE*(forward-1) && n < MAX_PAGE_SIZE*forward) {
$(this).show();
}else{
$(this).hide();
}
});
$(divObj).find(".page").find("a.current").removeClass("current");
$(divObj).find(".page").find("a").eq(forward+1).addClass("current");
}

function goNext1(aObj) {
var divObj = $(aObj).closest("div").parent("div");
var forward = $(divObj).find(".page").find("a.current").attr("forward");
forward = parseInt(forward);
var tbodyObj = $(divObj).find(".hotel-table tbody");
var length = $(tbodyObj).find("tr").length;
if(forward != length/MAX_PAGE_SIZE) {
forward++;
$(tbodyObj).find("tr").each(function(n) {
if(n >= MAX_PAGE_SIZE*(forward-1) && n < MAX_PAGE_SIZE*forward) {
$(this).show();
}else{
$(this).hide();
}
});
$(divObj).find(".page").find("a.current").removeClass("current").next("a").addClass("current");
}
}

function goLast1(aObj) {
var divObj = $(aObj).closest("div").parent("div");
var tbodyObj = $(divObj).find(".hotel-table tbody");
var length = $(tbodyObj).find("tr").length;
var finalPageNum = length/MAX_PAGE_SIZE;
$(tbodyObj).find("tr").each(function(n) {
if(n >= MAX_PAGE_SIZE*(finalPageNum-1) && n < MAX_PAGE_SIZE*finalPageNum) {
$(this).show();
}else{
$(this).hide();
}
});
$(divObj).find(".page").find("a.current").removeClass("current");
$(divObj).find(".page").find("a").eq(finalPageNum+1).addClass("current");
}
</script>

################################# JSP页面 ##############################################
<div id="hotel" >
<table class="hotel-table" style="width: 99%; table-layout: fixed; margin: 0 auto;">
<thead>
<tr>
<th width="5%">序号</th>
<th width="10%">姓名</th>
<th width="20%">身份证号</th>
<th width="20">旅馆名称</th>
<th width="20">地址</th>
<th width="5">房间号</th>
<th width=10"">入住时间</th>
<th width="10">退房时间</th>
</tr>
</thead>
<tbody>
<c:forEach var="item" items="${hotelRegistList}" varStatus="status">
<tr>
<td>${status.count}</td>
<td>${item.xm}</td>
<td>${item.sfzh}</td>
<td>${item.lgmc}</td>
<td>${item.dz}</td>
<td>${item.fjh}</td>
<td>${item.inTime}</td>
<td>${item.outTime}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">
<a href="javascript:;" onclick="goFirst1(this);">&lt;&lt;</a>
<a href="javascript:;" onclick="goPrev1(this);">&lt; </a>
<a href="javascript:;" onclick="goNext1(this);">&gt;</a>
<a href="javascript:;" onclick="goLast1(this);" class="last">&gt;&gt;</a>
</div>
</div>

时间: 2024-07-29 08:04:19

实用的静态前端分页实例的相关文章

jQuery插件实例六:jQuery 前端分页

先来看看效果: 对于前端分页,关键是思路,和分页算法.本想多说两句,可又觉得没什么可说的,看代码吧: 如何使用? $("#pging").zPagination({ 'navEvent':function(){ console.log('取数据Ajax'); } }); JS代码 //分页Pagination ; (function ($, window) { var defaults = { rowCount: 400, //总数据行数 navPage: 10, //每次显示多少页导

超简单实用的前端分页---jquery插件

首先,谈谈分页,目前我所了解的分页有两种,前端分页跟后台分页. 简单说说前端分页.是通过前端技术拿到所有的数据,在前端分页处理; 而后台分页是通过前端操作,给后台返回不同的值,再由后台返回所对应的数据. 最近,下载了很多前端分页插件.感觉性价比不是模糊不清,就是显示不是自己想要的,所以想自己动手写一个属于自己的插件 这是一个面向对象思想的插件.第一次用面向对象的思想,肯定有很多不足的地方.希望能互相讨论,一起上进. 这是效果图.看起来一般,但是他的css可重塑性高 接下来将附上自己的代码. cs

Extjs中grid前端分页使用PagingMemoryProxy【二】

    在项目中遇到Grid前端分页,本人也是刚接触extjs没多久,为了实现效果,一直找了很久才实现出来,对于代码中的一些也不能详细的说明出来, 不知道能不能帮助到遇到同样问题的朋友,所以将例子代码贴出来大家一起相互学习下. 在项目中时常会用到前端分页的效果,使用grid来进行分页, 在源代码中\examples\ux\data\PagingMemoryProxy.js,此时要使用该js文件,在项目引用该文件. <script type="text/javascript" sr

python2.0_day19_前端分页功能的实现

我们前面完成的客户纪录展示,只有4条,如果有上百条就不能在1页中全部展示了,那样是不人性化的.另外一次性取出来,数据量也比较大.假如现在有95条数据,我们想实现一个每页展示20条,那就分为5页.假如我们实现了,那么前端每一次请求就需要给后台提供参数了.这个参数就是告诉views里的视图函数我取第几页.需求分析: 95条,每页20条 第一次请求 返回20条,并且后端返回当前返回是第几页 ,所以第一次返回是1 点击下一页 1+1=2 ,把2传给后端,后端拿到后在把第二页的内容返回给前端,并且把当前返

easyui 前端分页及前端查询

1.静态分页核心方法 // 前端分页 -- 将datagrid的loadFilter属性设置为这个方法名即可 function partPurchasePagerFilter(data) { if (typeof data.length == 'number' && typeof data.splice == 'function') { data = { total : data.length, rows : data } } var dg = $(this); var opts = dg

java线程安全问题之静态变量、实例变量、局部变量

Java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同<java并发编程实践>中所说: 写道 给线程安全下定义比较困难.存在很多种定义,如:"一个类在可以被多个线程安全调用时就是线程安全的". 此处不赘述了,首先给出静态变量.实例变量.局部变量在多线程环境下的线程安全问题结论,然后用示例验证,请大家擦亮眼睛,有错必究,否则误人子弟! 静态变量:线程非安全. 静态变量即类变量,位于方法区,为所有对象共享,共享一份内存,一旦静态

静态前端vs数据后端

首先请让我描述一下我们这一代的web. 这是一个HTML5的时代,这是一个javascript独当一面的时代,这是一个前端和后端分庭抗礼的时代. 说起javascript在前端,很多人马上会说,MVVM,angular,backbone,avalon,react,... 没错这些都是优秀的javascript框架,都可以独当一面做出优秀的作品.但试想一下这样的场景:开发是分工的,web界面原型由美工提供,我们程序员往静态页面加入动态内容合成最终的web内容.表面看来很正常,但却是无尽蛋疼的开始.

静态页分页效果

//分页 (function(){ var cur=1; $(".newslist li").hide(); var size = $(".newslist li").length; var page = Math.floor($(".newslist li").length/20)+1; for(var i=1; i<=page; i++){ $(".page").append('<a href="ja

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表