原生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 相关文章推荐
JS版网站风格切换实例代码
Oct 06 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
js播放wav文件(源码)
Apr 22 Javascript
jQuery级联操作绑定事件实例
Sep 02 Javascript
jQuery中:input选择器用法实例
Jan 03 Javascript
再谈JavaScript异步编程
Jan 27 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
详解Vue 多级组件透传新方法provide/inject
May 09 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
Sep 03 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
Dec 02 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 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
mysql5详细安装教程
2007/01/15 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
基于node实现websocket协议
2016/04/25 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
微信小程序模版渲染详解
2018/01/26 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Python打印不合法的文件名
2020/07/31 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
学生会竞选演讲稿学习部
2014/08/25 职场文书
维稳工作情况汇报
2014/10/27 职场文书
学生违反校规检讨书
2014/10/28 职场文书
武侯祠导游词
2015/02/04 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
Python读写yaml文件
2022/03/20 Python