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 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
JavaScript 核心参考教程 内置对象
Oct 13 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
Apr 26 Javascript
Jquery给基本控件的取值、赋值示例
May 23 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
详解Jquery Easyui的验证扩展
Jan 09 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
Aug 18 Javascript
Vue利用History记录上一页面的数据方法实例
Nov 02 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 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
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
python中尾递归用法实例详解
2015/04/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
Python类成员继承重写的实现
2020/09/16 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
公司运动会策划方案
2014/05/25 职场文书
竞赛口号大全
2014/06/16 职场文书
节约能源标语
2014/06/17 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
行政前台岗位职责
2015/04/16 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript
JavaScript实现班级抽签小程序
2021/05/19 Javascript
Python的三个重要函数详解
2022/01/18 Python
js 实现验证码输入框示例详解
2022/09/23 Javascript