纯js实现分页
原理:所有数据已加载好,js通过遍历部分显示,实现分页效果
html代码
<html>
<head>
<meta charset='utf-8'>
<script type="text/javascript" src="page.js"></script> <style type="text/css">
#idData {color: red;border: solid;text-align: center;}
a{text-decoration: none;}
</style>
</head>
<body onLoad="goPage(1,10);">
<table id="idData" width="70%">
<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>liujinzhong8</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong9</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong10</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong11</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong12</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong13</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong14</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong15</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong16</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong17</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong18</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong19</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong20</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong21</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong22</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong23</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong24</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong25</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong26</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong27</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong28</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong29</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong30</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong31</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong32</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong33</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong34</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong35</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong36</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong37</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong38</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong39</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
<tr><td>liujinzhong40</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
</table>
<table width="60%" align="right">
<tr><td><div id="barcon" name="barcon"></div></td></tr>
</table>
</body>
</html>
js实现分页
/**
* 分页函数
* pno--页数
* psize--每页显示记录数
* 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数
* 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能
**/
function goPage(pno,psize){
var itable = document.getElementById("idData");
var num = itable.rows.length;//表格所有行数(所有记录数)
console.log(num);
var totalPage = 0;//总页数
var pageSize = psize;//每页显示行数
//总共分几页
if(num/pageSize > parseInt(num/pageSize)){
totalPage=parseInt(num/pageSize)+1;
}else{
totalPage=parseInt(num/pageSize);
}
var currentPage = pno;//当前页数
var startRow = (currentPage - 1) * pageSize+1;//开始显示的行 31
var endRow = currentPage * pageSize;//结束显示的行 40
endRow = (endRow > num)? num : endRow; 40
console.log(endRow);
//遍历显示数据实现分页
for(var i=1;i<(num+1);i++){
var irow = itable.rows[i-1];
if(i>=startRow && i<=endRow){
irow.style.display = "block";
}else{
irow.style.display = "none";
}
}
var pageEnd = document.getElementById("pageEnd");
var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
if(currentPage>1){
tempStr += "<a href=\"#\" onClick=\"goPage("+(1)+","+psize+")\">首页</a>";
tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage-1)+","+psize+")\"><上一页</a>"
}else{
tempStr += "首页";
tempStr += "<上一页";
} if(currentPage<totalPage){
tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage+1)+","+psize+")\">下一页></a>";
tempStr += "<a href=\"#\" onClick=\"goPage("+(totalPage)+","+psize+")\">尾页</a>";
}else{
tempStr += "下一页>";
tempStr += "尾页";
} document.getElementById("barcon").innerHTML = tempStr; }
效果
纯js实现分页的更多相关文章
- 纯JS前端分页方法(JS分页)
		1.JS分页函数:开发过程中,分页功能一般是后台提供接口,前端只要传page(当前页码)和pageSize(每页最大显示条数)及对应的其他查询条件,就可以返回所需分页显示的数据. 但是有时也需要前端本 ... 
- 纯js手动分页
		昨天让做个页面,后台提供所有数据,没有做好分页,需要前端js手动分页. 我参考了 http://www.cnblogs.com/jiechn/p/4095029.html 做了些许改动让分页效果更加完 ... 
- kPagination纯js实现分页插件
		kPagination分页插件 纯js分页插件,压缩版本~4kb,样式可以自定义 demo 使用方法 <div id="pagination"></div> ... 
- 纯js分页代码(简洁实用)
		纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ... 
- js+vue、纯js 按条件分页
		听说大牛都从博客开始的... 人狠话不多,翠花上酸菜代码: 有注解基本上都看的懂!但是自己还是要注意以下几点,免得以后再浪费时间. #.vue 中监听事件 v-on:change=“vueChange ... 
- jQuery+AJAX实现纯js分页功能
		使用jQuery的AJAX技术,在bootstrap的框架下搭建的纯js分页 bootstrap作为Twitter推的一款前端框架,效果个人还是觉得很不错的.这次只是拿来作为网页元素的css样式表使用 ... 
- 使用纯js写的一个分页
		上图晒效果: 网上确实有很多分页的插件以及开源代码,单本是一个后台开发猿,前台css等样式还驾驭不住,所以就开始自己去写了.其实这个分页原理很简单,就是用ajax往后台传值(当前页码),后台使用lim ... 
- js实现分页
		<html> <head> <meta charset='utf-8'> <script type="text/javascript" s ... 
- JS表格分页(封装版)
		HTML代码: <html> <head> <meta charset='utf-8'> <script type="text/javascript ... 
随机推荐
- Summary Ranges —— LeetCode
			Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ... 
- UVA 11922 Permutation Transformer(Splay Tree)
			题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18902 [思路] 伸展树+打标记. 用伸展树维护这个序列,使得能 ... 
- ubuntu编译openwrt前端web界面
			openwrt是由Cisco放出源代码的开放无线路由平台.由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐 ... 
- eclipse运行内存不足解决办法
			选中所要执行的类,鼠标右键移动到Run As选项,接着选择Run Configurations...选项,在弹出的选项卡中选择Arguments,在VM arguments下面的输入框中输入-Xmx1 ... 
- 解决拼团首页swiper组件手动轮播卡顿问题
			解决 swiper lag , 可能是渲染背景backface-visibility后导致卡顿吧! //以下代码添加到.swiper-wrapper中 -webkit-perspective: 300 ... 
- 如何把textfield或者textview中长按出现的(全选,复制,粘贴)显示成中文
			ios在配置文件info.plist 中添加Localiztion native development region (本地化设置) 设置为 china 
- win32程序中简单应用mfc
			今日写程序在win32中用CRect发现报错,突然想起来.要引入mfc库.想重新建立一个工程添加对mfc的支持.发现选项不能选.查资料后发现. 在win32程序中简单应用mfc库,只需要简单的引入&l ... 
- XTU OJ 1210 Happy Number (暴力+打表)
			Problem Description Recently, Mr. Xie learn the concept of happy number. A happy number is a number ... 
- vs2008试用期到期解决办法
			vs2008试用期结束之后, 在“控制面板”中启动“添加删除程序”, 选中Vs2008,点击“更改.删除”, 在出现的维护模式对话框中, 选择下一步,输入下面的CD-Key ... 
- Facade 门面模式 外观模式
			简介 作用: (1)封装一组交互类,一致地对外提供接口 (2)封装子系统,简化子系统调用 JDK中体现:java.util.logging包 java.lang.Class javax.faces.w ... 
