做项目时偶尔有需求:数据一次性加载到页面同时还要实现分页,此时有两种方式一种是提交到当前页,这个里面会有一些变量需要置为hidden域,另外一种就是纯js分页。利用第一种方式效率不太高,存在多次访问数据库的问题,因而对于这种需要常常采用第二种方式。demo如下,实现思路:页面数据一次性全部加载完毕,js部分通过函数控制其是否显示达到分页的功能,有一个方法通过递归即可全部实现上一页、下一页、首页、尾页的功能,同时页面显示的分页点击部分也是由js内部innerHTML写入
1、js部分(单独保存为page.js)--js中的加减参数需要根据实际情形决定,即table第一行开始到真正的数据行之间有几行,则加减参数就是几
/**
* 分页函数
* pno--页数
* psize--每页显示记录数
* 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数
* 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能
**/
function goPage(pno,psize){
var itable = document.getElementById("idData");
var num = itable.rows.length;//表格行数
var totalPage = 0;//总页数
var pageSize = psize;//每页显示行数
if((num-1)/pageSize > parseInt((num-1)/pageSize)){
totalPage=parseInt((num-1)/pageSize)+1;
}else{
totalPage=parseInt((num-1)/pageSize);
}
var currentPage = pno;//当前页数
var startRow = (currentPage - 1) * pageSize+1;//开始显示的行
var endRow = currentPage * pageSize+1;//结束显示的行
endRow = (endRow > num)? num : endRow;
//前三行始终显示
for(i=0;i<1;i++){
var irow = itable.rows[i];
irow.style.display = "block";
}
for(var i=1;i<num;i++){
var irow = itable.rows[i];
if(i>=startRow&&i<endRow){
irow.style.display = "block";
}else{
irow.style.display = "none";
}
}
var pageEnd = document.getElementById("pageEnd");
var tempStr = "共"+(num-1)+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
if(currentPage>1){
tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage-1)+","+psize+")\">上一页</a>"
}else{
tempStr += "上一页";
}
if(currentPage<totalPage){
tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage+1)+","+psize+")\">下一页</a>";
}else{
tempStr += "下一页";
}
if(currentPage>1){
tempStr += "<a href=\"#\" onClick=\"goPage("+(1)+","+psize+")\">首页</a>";
}else{
tempStr += "首页";
}
if(currentPage<totalPage){
tempStr += "<a href=\"#\" onClick=\"goPage("+(totalPage)+","+psize+")\">尾页</a>";
}else{
tempStr += "尾页";
}
document.getElementById("barcon").innerHTML = tempStr;
}
2、html部分
<html>
<head>
<script type="text/javascript" src="page.js"></script>
</head>
<body onLoad="goPage(1,10);">
<table id="idData" width="70%">
<tr>
<td>姓名</td>
<td>年龄</td>
<td>性别</td>
<td>户籍</td>
</tr>
<tr>
<td>刘金钟</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong1</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong2</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong3</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong4</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong5</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong6</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong7</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
<tr>
<td>liujinzhong</td>
<td>25</td>
<td>男</td>
<td>山西吕梁</td>
</tr>
</table>
<table width="60%" align="right">
<tr>
<td>
<div id="barcon" name="barcon"></div>
</td>
</td>
</table>
</body>
</html>
直接运行就会看到效果。
分享到:
相关推荐
纯js分页,用js将内容以分页的形式展现出来,处理数据更简单
纯JavaScript分页模板是一种在网页应用中实现数据分页功能的方法,它不依赖任何外部库如jQuery或AngularJS,完全由原生JavaScript代码构建。这种模板通常包括一系列用于计算页码、显示当前页数、处理页码跳转事件...
4. **JavaScript分页逻辑**:`spagination.js` 是核心脚本,包含了分页功能的实现。主要包括计算总页数、生成页码按钮、监听按钮点击事件、更新当前页等功能。开发者需要了解如何根据数据量和每页显示的数量来计算总...
js分页,让你的数据跟快。不要再等待。这是一个简单的分页代码。
纯js实现分页模版页面,是参考别的网站的代码,供学习参考
纯手写JS分页,第一次做分页,不用任何控件,简单易懂,尝试分享出来。
此工具的目的是实现网页数据分页显示完全脱离服务器,单纯使用js实现,现在功能还比较简单,只能单纯显示数据,有其他需求可以联系探讨。 工具例子使用ajax获取列表数据,当然其他形式也行,最后应该把数据转换成...
3. **纯JavaScript分页**:不依赖任何外部库,通过JavaScript实现分页逻辑。例如,可以使用数组或对象存储数据,根据当前页数动态渲染页面内容。 4. **AJAX分页**:使用AJAX异步加载数据,用户在切换页面时无需刷新...
在网页开发中,数据展示是不可或缺的一部分,尤其是在大数据量的情况下,...总的来说,这个纯JS表格分页代码是一个基础的解决方案,适合学习和快速原型开发。对于更复杂的需求,可能需要结合其他技术和框架进行扩展。
实现JavaScript分页插件的方法多种多样,例如可以使用纯JavaScript编写,也可以借助于流行的前端框架如jQuery、Vue.js或React来简化实现。下面以一个基本的纯JavaScript分页插件为例,阐述其工作流程: 1. **初始化...
在分页上下文中,"纯js分页"意味着分页逻辑主要在客户端JavaScript中实现,而不是服务器端。这种实现方式的优点在于减少了服务器与客户端之间的通信,从而提高了页面响应速度。然而,这也意味着所有的数据需要一次性...
通过上述步骤,我们可以构建一个灵活、可自定义的JavaScript分页插件,它不仅能满足基本的分页需求,还能根据用户的交互进行指定页的跳转,同时提供丰富的样式定制选项。在实际开发中,这样的插件可以帮助我们高效地...
在项目中,你还可以使用现成的分页库,如jQuery的`bootstrap-paginator`或纯JavaScript的`paginator.js`,来简化开发过程。 总的来说,JavaScript分页涉及前端数据处理和用户体验优化,理解其原理和实现方式对于Web...
总之,纯前端分页是Web开发中不可或缺的一部分,通过JavaScript、DOM操作和CSS,我们可以创建出高效、易用的分页解决方案。在给定的文件中,我们可以看到一个具体的实现案例,这对于学习和理解这一技术是非常有价值...
1. **HTML结构**:与纯JS分页相似,需要创建分页导航栏。 2. **jQuery选择器和事件**:利用jQuery的选择器选取需要绑定事件的元素,并用`.on()`方法添加点击事件监听器。 3. **jQuery的DOM操作**:使用`.html()`、`....
本篇将详细介绍两个纯JavaScript实现分页的经典例子,帮助你理解和掌握这一核心技术。 首先,我们要明白分页的基本原理:将大量数据分为若干个部分,每次只加载一部分到页面上,用户可以通过导航按钮切换不同的数据...
//1:根据字数自动分页 2:根据[NextPage]分页//默认页startpage = 1;//导航显示样式 0:常规 1:直接 3:下拉TopShowStyle = 1;DownShowStyle = 0; var currentSet,CutFlag,TotalByte,PageCount,key,tempText,tempPage...
一个纯JavaScript分页插件 任何人都可以免费使用、修改、发布 author:oospace email: 使用方法 1,代码前几行进参数配置 var Num=Number() //总条数(必填) var index = Number(); //当前页(必填) var pageNum=Number...
使用纯JavaScript实现表格分页显示,提供页面跳转功能,包括首页、上一页、下一页、尾页等功能。
### 纯JS长文章分页代码解析 在网页开发中,为了提高用户体验及加载速度,经常需要将过长的文章内容进行分页处理。本文基于提供的文件内容,深入解析一个用纯JavaScript实现的文章分页代码。 #### 核心概念与功能 ...