JS表格分页(封装版)
HTML代码:
<html>
<head>
<meta charset='utf-8'>
<script type="text/javascript" src="script.js"></script>
<style type="text/css">
#idData {color: red;border: solid;text-align: center;}
a{text-decoration: none;}
</style>
</head>
<body>
<table id="idData" width="70%">
<tr><td>测试编号1</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号2</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号3</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号4</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号5</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号6</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号7</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号8</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号9</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号10</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号11</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号12</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号13</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号14</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号15</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号16</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号17</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号18</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号19</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号20</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号21</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号22</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号23</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号24</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号25</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号26</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号27</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号28</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号29</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号30</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号31</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号32</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号33</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号34</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号35</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号36</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号37</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号38</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号39</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
<tr><td>测试编号40</td><td>25</td><td>单元格1</td><td>单元格2</td></tr>
</table>
<table width="60%" align="right">
<tr><td><div id="barcon" name="barcon"></div></td></tr>
</table>
</body>
</html>
<script type="text/javascript" language="javascript">
window.onload = function(){
goPage(1,10);
};
</script>
script.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表格分页组件:fupage的设计思路和详细使用方法(未来考虑开源,争取在2015年)
一.背景 之前在秒针工作的时候,某js高级project师写了非常多自己的组件.当中一套是分页组件.叫做st-grid. 只是在我看来,bug太多.我常常给他反馈bug,我也不清楚为啥 ...
- JS表格分页组件:fupage的设计思路和具体用法(未来考虑开源,争取在2015年)
一.背景 之前在秒针工作的时候,某js高级工程师写了很多自己的组件,其中一套是分页组件,叫做st-grid.不过在我看来,bug太多,我经常给他反馈bug,我也不清楚为啥别人没有发现. ...
- 基于Vue.js的表格分页组件
有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...
- Vue.js的表格分页组件
转自:http://www.cnblogs.com/Leo_wl/p/5522299.html 有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更 ...
- Angular.js+Bootstrap实现表格分页
最近一直学习Angular.js,在学习过程中也练习了很多的Demo,这里先贴一下表格+分页. 先上图看看最终结果: 不得不说Angular.js代码风格很受人欢迎,几十行代码清晰简洁的实现了上面的功 ...
- 【转】基于jquery的无刷新表格分页
效果图 css样式 <style> html,body{margin: 0;padding:0} a:focus {outline: none;} /* 通用表格显示 */ table, ...
- GRIDDATA(表格)第二版
JQUERY 插件开发——GRIDDATA(表格)第二版 开发背景 表格插件之前我也写个一篇,当时写那个插件的时候,我自己还没有总结出写插件的方法,虽然功能实现了,但是使用起来还是有点别扭的,并且需要 ...
- Tablacus Explorer双心封装版
Tablacus Explorer双心封装版 http://cloud.189.cn/t/mYj67j7r2Afq (TablacusExplorer17.3.27双心封装版.exe) http:// ...
- MDIEMDIE双心封装版0.3.0.0RC6V2
MDIEMDIE双心封装版0.3.0.0 RC6V2官方主页:http://cres.s28.xrea.com/MDIE(多文档界面资源管理器)是一个MDI类型的文件管理软件,是代替资源管理器的一个无 ...
随机推荐
- 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据
CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...
- mac 苹果多版本jdk自由切换
场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...
- YourSQLDba遭遇.NET Framework Error 6522
一工厂的SQL Server数据库服务器上的YourSQLDba_LogBackups作业做事务日志备份时,突然出现异常,异常的错误信息指向.NET Framework,出现这个问题时,一般我估计是该 ...
- spring4笔记----PropertyOverrideConfigureer 重写占位符配置器(图)
- 自动化测试基础篇--Selenium简单的163邮箱登录实例
摘自https://www.cnblogs.com/sanzangTst/p/7472556.html 前面几篇内容一直讲解Selenium Python的基本使用方法.学习了什么是selenium: ...
- CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6
CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6 解决办法: 1.进入/etc/sysconfig/network-script ...
- Python数据类型转换函数
数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real[,imag]) 创建一个复数 str(x) 将 x 转换为 ...
- Linux内存描述之概述--Linux内存管理(一)
1 前景回顾 1.1 UMA和NUMA两种模型 共享存储型多处理机有两种模型 均匀存储器存取(Uniform-Memory-Access,简称UMA)模型 将可用内存以连续方式组织起来, 非均匀存储器 ...
- C++实现第三方资源释放与载入过程(以DLL为例)
简介 我们经常看见有一些程序开始执行时会释放一些文件,以便于后续操作.例如一些病毒为了便于传播和隐藏,经常把一些需要用的动态库或是驱动文件打包进一个可执行文件中,再由需要使用的时候,再临时释放和加载. ...
- MATLAB简易画图
给定一组特殊点,连线作图 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 以成绩隶属函数为例: score.m cj_x1=[ 0.1]; cj_y1= ...