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 相关文章推荐
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
Apr 26 Javascript
jQuery背景插件backstretch使用指南
Apr 21 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
Aug 27 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
基于LayUI实现前端分页功能的方法
Jul 22 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
Sep 25 Javascript
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
关于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
收音机的保养
2021/03/01 无线电
世界收音机发展史
2021/03/01 无线电
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php实现水仙花数示例分享
2014/04/03 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
详解python中asyncio模块
2018/03/03 Python
Python3中详解fabfile的编写
2018/06/24 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
Python如何telnet到网络设备
2021/02/18 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
市优秀教师事迹材料
2014/02/05 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
总经理岗位职责范本
2015/04/01 职场文书
办公室禁烟通知
2015/04/23 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书