J S 实现分页
首先先看效果图:
实现思路:
首先要获取到表格中有多少行记录,每页显示的行数。我这里每页三行。然后在填加的操作里加入下面代码。
var tbody=document.getElementById("tbody");
var trs=tbody.getElementsByTagName("td");
if(trs.length>3){
goPage(1,3)
}
因为刚开始没有记录,当有记录的时候触发事件,执行分页函数。这时根据自己每页显示的行数进行判断,比如我要每页显示三行,那么就是trs.length>3、如果每页要显示,则判断>5即可。
然后比较重要的就是怎样只显示需要的内容,这里用到style.display=”@”;当@地方是none时为隐藏,为block时是显示。代码中定义了每页记录的开始位置、和结束位置。当遍历所有行时,满足在开始位置和结束位置之间的为block 相反为 none不显示。
下面是分页的主题代码:
function goPage(pno, psize){
var itable = document.getElementById("tusers");
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;
}
分享到:
相关推荐
使用js实现打印分页的功能(包括页码,表头,表尾)
- **基于客户端的分页**:所有数据都加载到客户端,然后通过JavaScript等技术实现分页效果。 - **基于服务器端的分页**:每次只加载当前页的数据,其他页的数据存储在服务器上,当用户请求新的页面时,再向服务器...
在调用window.print()时,可以实现打印效果,但内容太多时要进行分页打印。 在样式中有规定几个打印的样式 page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的...
在这个“VUE打印demo,自动分页”项目中,我们将会探讨如何在Vue应用中实现打印功能并配合自动分页,这在开发报表或文档展示等场景中非常常见。 首先,让我们了解Vue.js中的组件化开发。Vue应用由多个可复用的组件...
代码如下: <%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%> <!DOCTYPE html PUBLIC “-... <HEAD> <...javascript打印-打印页面设置-打印预览代码<...
"S标签分页"可能指的是使用某种特定的编程语言或框架中的分页组件,但具体的实现细节没有在描述中给出。根据提供的标签"源码"和"工具",我们可以推测这里可能涉及到对某个开源分页库的解析或者是自定义分页实现。 ...
5. **JS 分页**:如果网页内容是动态加载或需要用户交互的,可能需要使用 JavaScript 实现分页逻辑。这通常涉及到数据的获取、分组和渲染。例如,可以使用 `slice()` 方法按页码获取数据,然后更新DOM以显示当前页的...
js打印,将数据读取到打印页面,用js截取,从而实现打印指定模块!打印的时候如果页面数据过多,打印机可以自动分页打印!我的是hp的打印机,下载的朋友可以试试!注意,本人声明:这个并不是针对于打印分页而写,...
String url = "jdbc:microsoft:sqlserver://SJD:1433;DatabaseName=portal"; Class.forName(driver); conn = DriverManager.getConnection(url, "sa", ""); ``` 该段代码用于建立与数据库的连接,这里使用的...
npm i vue-printjs --save-dev ``` 然而,这里存在一个问题:默认的打印插件可能会导致打印内容超出一页时只显示一页。为了解决这个问题,我们需要下载vue-print.js的源代码到本地进行修改。你可以从GitHub上获取...
原生JS打印插件之jQuery.EasyPrint.js使用文档 调用浏览器自带打印功能,...js控制分页打印、打印分页示例;js 打印插件;js使用window.print()实现打印功能;代码仅5kb; 自主研发的一个轻量级超简单的js打印插件。
1.但是网上好多案例都不支持分页功能,最后通过CSS的page-break-after:always样式解决分页问题,以下代码纯个人编写,有需要的朋友可以直接复制到网页中使用,转载请注明出处,谢谢! <!DOCTYPE ...
golang爬虫代码,本demo...<div class="threadlist_title pull_left j_th_tit ">[\s\S]+?href="(\/p\/[\s\S]+?)" 这种匹配方式。可以爬取任意类的网站。 使用方式,命令行输入:go run 10Golang方式实现贴吧爬虫demo.go
4. **性能优化**:处理大量数据时,要注意避免阻塞UI,可以使用异步加载和分页技术。 5. **错误处理**:编写健壮的代码,处理可能出现的异常情况,如文件读取失败、网络问题等。 此外,学习和实践这些技术的过程中...
本文将详细讨论通过对串进行五种基本操作来实现对字符串的各种操作,并结合给出的程序段分析执行频度,以及介绍几种常见的算法。 首先,对于串的基本操作,我们可以使用以下五个函数: 1. `StrAssign(String *str,...
本项目是一个简单的图书管理系统,本博客在tomcat中采用servlet 和vue和mybatis技术实现如下功能: * 用户登陆,输入用户名,密码,登陆成功后保存到session中,跳转到首页; * 用户注册,输入相关信息,以及验证码...
该项目运用ssm+maven+mysql实现了留言板包括用户登录,留言,留言回复,查询 查看留言列表的时候需要组合...配置了log4j以及redis缓存 mysql文本链接: https://pan.baidu.com/s/1WSKebyjth6NDOzrIigLuew 提取码: 7p5m
`<s:subset>`为遍历集合时输出子集,可以用于分页等操作。 R. `<s:tabbedPanel>`,`<s:table>`,`<s:text>`,`<s:textarea>`,`<s:textfield>`: `<s:tabbedPanel>`创建选项卡面板,提高页面组织性。 `<s:table>`...
为了提高用户体验,BBS系统通常会实现分页显示帖子和搜索功能。分页可以通过传递页码参数来实现,而搜索可能涉及关键词匹配算法,如全文检索或简单的模糊匹配。 ### 7. 响应式设计与移动优化 考虑到多设备访问,...
为了实现调度任务,我们可以使用SpringBoot集成Quartz Scheduler或者其他定时任务库,如Spring's @Scheduled注解。这些调度器可以按照预定义的时间间隔启动Kettle作业或转换,以完成定时的数据处理需求。参数化使用...