javascript实现前端分页功能


Posted in Javascript onNovember 26, 2020

前言:今天给大家带来的是前端数据的分页功能,供大家参考,具体内容如下

先上一波效果图展示:

javascript实现前端分页功能

直接上代码:这里使用的是JavaScript来实现

关于代码详解都以注释的方式写在JavaScript里的

HTML:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>分页</title>
 <link rel="stylesheet" href="css/limitFace.css" rel="external nofollow" >
 </head>
 <body>
 <div class="all">
  <table id="table">
  
  </table>
  <div id="inputs">
  
  </div>
 </div>
 <script src="js/limitFace.js"></script>
 </body>
</html>

CSS:

*{
 padding: 0;
 margin: 0;
 font-size: 20px;
}
.all{
 width: 100%;
 height: 100vh;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}
/*偷懒才用的id*/
#inputs input{
 width: 100px;
 height: 50px;
 background-color: white;
}
#table{
 width: 90%;
}
tr{
 width: 100%;
}
td{
 text-align: center;
 width: 50%;
 height: 10vh;
 border: 1px solid black;
}

JS:

//一下数据为模拟集合,个人理解js中的集合就是将对象放进数组
var strs = [
 {
 "id":123,
 "pwd":456
 },
 {
 "id":456,
 "pwd":123
 },
 {
 "id":4681,
 "pwd":9815
 },
 {
 "id":471,
 "pwd":4981
 },
 {
 "id":1234789,
 "pwd":156
 },
 {
 "id":789,
 "pwd":158
 },
 {
 "id":"vgwh",
 "pwd":"vgsya"
 },
 {
 "id":1,
 "pwd":"tcv"
 },
 {
 "id":256,
 "pwd":"vtc0"
 }
];
//假设规定每页显示长度为3
var len = 3;
//确认该集合会被分成几页,分成几页就代表需要几个页面按钮,封装封装方便多次运用
function limits(){
 var countLim = Math.ceil(strs.length/len);//余数也算是一页,这里用向上取整
 //确认页面按钮个数,进行循环显示到页面上
 document.getElementById("inputs").innerHTML='';//清空一下
 for(var i=1;i<=countLim;i++){
 document.getElementById("inputs").innerHTML+='<input type="button" value="'+i+'" onclick="limitinput(this)"/>';//每个页面按钮都绑定上一个点击事件
 }
}
var choose = 0;//创建一个全局变量用来保存当前处于第几个页面
//点击按钮获取当前按钮的值进行选择当前table是第几页数据
function limitinput(ids){
 choose = ids.value;
 tablestr(choose);//刷新table数据
 limits();//刷新页面按钮
  ids.style.backgroundColor='red';//当前点击的页面按钮背景颜色改变为红色
 liminputcolor(choose);//页面按钮变色
}
//通过当前页面按钮和页面数据长度将数据放进table内,封装封装!!!必须封装
function tablestr(num){//num是指当前哪个页面
 var num1 = (num-1)*len;//确定循环开始的集合下标
 var num2 = num*len;//确定循环结束的结束下标
 document.getElementById("table").innerHTML='';//清空一下
 for(var i=num1;i<num2;i++){//遍历数组
 var str = '';
 for(var h in strs[i]){//遍历集合
  str+='<td>'+strs[i][h]+'</td>';
 }
 document.getElementById("table").innerHTML+='<tr>'+str+'</tr>';//每循环一次添加一条数据
 }
}
function liminputcolor(choose){
 document.getElementById("inputs").childNodes[choose-1].style.backgroundColor="red";
}
//初始化,当前页面显示为第一页
limits();//页面按钮生成
document.getElementById("inputs").childNodes[0].style.backgroundColor="red";//第一个按钮的背景颜色为红色
tablestr(1);//table数据显示
/*
到这里就结束了,但是!!!这些都是被封装好了的,意思就是说,在最开始的时候这就是通用的做法;
最开始的数据就是在模拟后端的集合,也就是说,不论你后端传递给前端什么集合都可以实现分页功能
*/

后言:本次博文就到这里了,多的话也没说啥,解释都在js的注释里面,要是有什么疑问的,可以私我,好了,该说再见了,制作不易,各位看客点个赞再走呗

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

Javascript 相关文章推荐
setTimeout 不断吐食CPU的问题分析
Apr 01 Javascript
JQuery从头学起第一讲
Jul 04 Javascript
js使下拉列表框可编辑不止是选择
Dec 12 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 Javascript
jQuery获取动态生成的元素示例
Jun 15 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
微信小程序 实战程序简易新闻的制作
Jan 09 Javascript
vue源码解析之事件机制原理
Apr 21 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
关于angular 8.1使用过程中的一些记录
Nov 25 #Javascript
Vue组件生命周期运行原理解析
Nov 25 #Vue.js
vue element-ul实现展开和收起功能的实例代码
Nov 25 #Vue.js
在Vue中使用mockjs代码实例
Nov 25 #Vue.js
javascript实现左右缓动动画函数
Nov 25 #Javascript
JavaScript缓动动画函数的封装方法
Nov 25 #Javascript
js实现缓动动画
Nov 25 #Javascript
You might like
用php和MySql来与ODBC数据连接
2006/10/09 PHP
php设计模式 Facade(外观模式)
2011/06/26 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
JS与C#编码解码
2013/12/03 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
动物学专业毕业生求职信
2013/10/11 职场文书
竞赛口号大全
2014/06/16 职场文书
应届毕业生自荐信
2015/03/04 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS