js实现分页
<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>
================================================================================================================
/**
* 分页函数
* 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实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)
虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...
- 原生JS实现分页效果1.0
不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en">&l ...
- 纯js实现分页
原理:所有数据已加载好,js通过遍历部分显示,实现分页效果 html代码 <html> <head> <meta charset='utf-8'> <scri ...
- 单篇文章JS模拟分页
废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请 ...
- js前端分页之jQuery
锋利的js前端分页之jQuery 大家在作分页时,多数是在后台返回一个导航条的html字符串,其实在前端用js也很好实现. 调用pager方法,输入参数,会返回一个导航条的html字符串.方法的内部比 ...
- Spring Data Jpa+SpringMVC+Jquery.pagination.js实现分页
本博客介绍基于Spring Data这款orm框架加上Jquery.pagination插件实现的分页功能. 介绍一下Spring Data框架 spring Data : Spring 的一个子项目 ...
- 原生js版分页插件
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来.如有不足之处,欢迎指 ...
- JS表格分页(封装版)
HTML代码: <html> <head> <meta charset='utf-8'> <script type="text/javascript ...
- JS重构分页
JS重构分页 很早以前写过一个Jquery分页组件,但是当时写的组件有个缺点,当时的JS插件是这样设计的:比如:点击 --> 查询按钮 ---> 发ajax请求 返回总页数和所有数据, ...
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
随机推荐
- Jax-ws 开发webService ,并使用spring注入service类
由于使用myeclipse自动生成的Delegate,所以在使用service实现层的时候,默认创建的时候都是使用new的方法: 这样就导致每一次请求过来都得new一个新的:如果service有注入其 ...
- 剑指Offer面试题1
面试题1: 题目描述: 如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString { public: CMyString(char* pData = NULL ...
- Python、PyCharm的安装及使用方法(Mac版)
上周跟朋友喝咖啡时聊起我想学Python,她恰好也有这个打算,顺便推荐了一本书<编程小白的第1本Python入门书>,我推送到Kindle后,随手翻看了下,用语平实,简洁易懂. 之前在R语 ...
- MyEclipse(8.5以上的版本) 安装js的开发插件aptana
最近在学习js,想在MyEclipse(MyEclipse 10) 上面安装一个js的开发的插件aptana. MyEclipse 8.5以后的版本的安装的方法: 1.下载aptana_update_ ...
- myeclipse中文乱码
解决myeclipse中乱码问题. 改变整个Eclipse工作空间的编码格式 window->preferences->General->workspace中 把text file ...
- 蓝桥杯-有理数类-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- TypeScript入门-高级类型
高级类型 交叉类型 交叉类型,就是将多个类型合并为一个新的类型,这个新的类型具有这多个类型的成员,含有这几个类型的所有特性,是他们的综合体,像是集合的并集 例子: function extend< ...
- laravel5 事务回滚
方法一 //不需要引入,直接开干 public function Transaction(){ DB::beginTransaction(); //开启事务 $sql1 = DB::table('de ...
- 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明
接上一篇中记录Echarts进度环使用 此处处理不同状态下不同进度环颜色及圈内文字等的相关处理,采用实际案例源码说明 -----------------偶是华丽丽分割线---------------- ...
- 初次使用git配置以及git如何使用ssh密钥(将ssh密钥添加到github)
初次安装git配置用户名和邮箱 初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git con ...