原生js实现表格翻页和跳转


Posted in Javascript onSeptember 29, 2020

本文实例为大家分享了js实现表格翻页和跳转的具体代码,供大家参考,具体内容如下

原生js实现表格翻页和跳转

js代码里的row_num变量是显示数据的行数,修改后可改变每页显示的数量。

html代码:

<table border="" cellspacing="" cellpadding="" id="table">
 <thead>
 <tr>
  <td>No</td>
  <td>Name</td>
  <td>Age</td>
 </tr>
 </thead>
 <tbody></tbody>
 <tfoot>
 <tr>
  <td colspan="3">
  <input type="button" name="pre-btn" id="pre" value="<" />
  <input type="text" name="page_num" id="page_num" value="" />
  <span id="cur_page"></span>
  <input type="button" name="jump" id="jump" value="跳转" />
  <input type="button" name="next-btn" id="next" value=">" />
  </td>
 </tr>
 </tfoot>
</table>

js代码:

let datas = [
 [1, 'a', 16],
 [2, 'b', 20],
 [3, 'c', 22],
 [4, 'd', 44],
 [5, 'e', 11],
 [6, 'f', 12],
 [7, 'g', 13]
];
let cur_page = 0;
let t = document.querySelector('tbody');
let page_num = document.querySelector('#page_num');
let row_num = 2;
(() => jump_to(cur_page))();

function pre() {
 if (cur_page > 0) {
 cur_page--;
 jump_to(cur_page);
 }
}

function next() {
 if (cur_page < (datas.length / row_num) - 1) {
 cur_page++;
 jump_to(cur_page);
 }
}

function jump_to(page) {
 t.innerHTML = '';
 for (let i = page * row_num; i < (page + 1) * row_num && i < datas.length; i++) {
 let row = t.insertRow();
 for (let item of datas[i]) {
  row.insertCell().innerHTML = item;
 }
 }
 page_num.value = page + 1;
}

document.querySelector('#cur_page').innerText = `/${Math.ceil(datas.length / row_num)}`;
document.querySelector('#pre').onclick = () => pre();
document.querySelector('#next').onclick = () => next();
document.querySelector('#jump').onclick = function() {
 if (page_num.value < (datas.length / row_num) + 1 && page_num.value - 1 !== cur_page && page_num.value > 0 && Number.isInteger(parseInt(page_num.value))) {
 cur_page = page_num.value - 1;
 jump_to(cur_page);
 }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 插件学习(六)
Aug 06 Javascript
jquery实现图片滚动效果的简单实例
Nov 23 Javascript
基于jquery和svg实现超炫酷的动画特效
Dec 09 Javascript
SuperSlide标签切换、焦点图多种组合插件
Mar 14 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
浅谈angular4生命周期钩子
Sep 05 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
vue 弹出遮罩层样式实例
Jul 22 Javascript
vue实现井字棋游戏
Sep 29 #Javascript
js实现移动端图片滑块验证功能
Sep 29 #Javascript
js+cavans实现图片滑块验证
Sep 29 #Javascript
如何利用JS将手机号中间四位变成*号
Sep 29 #Javascript
原生JavaScript实现刮刮乐
Sep 29 #Javascript
原生JavaScript实现拖动校验功能
Sep 29 #Javascript
使用JavaScript实现贪吃蛇游戏
Sep 29 #Javascript
You might like
一个简单的MySQL数据浏览器
2006/10/09 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
js原型链原理看图说明
2012/07/07 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
Python实现批量转换文件编码的方法
2015/07/28 Python
python实现TF-IDF算法解析
2018/01/02 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
python print出共轭复数的方法详解
2019/06/25 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
2014世界杯球队球队口号
2014/06/05 职场文书
洗手间标语
2014/06/23 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
南京大屠杀观后感
2015/06/02 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python