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 相关文章推荐
用javascript getComputedStyle获取和设置style的原理
Oct 10 Javascript
Prototype Number对象 学习
Jul 19 Javascript
js 操作select和option常用代码整理
Dec 13 Javascript
jQuery实用函数用法总结
Aug 29 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
Bootstrap实现的标签页内容切换显示效果示例
May 25 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
javascript头像上传代码实例
Sep 28 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
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
python实现最速下降法
2020/03/24 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
2014报到证办理个人委托书
2014/10/08 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
优秀团员事迹材料
2014/12/25 职场文书
小班下学期个人总结
2015/02/12 职场文书
研究生个人学年总结
2015/02/14 职场文书
幸福终点站观后感
2015/06/04 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
python之django路由和视图案例教程
2021/07/26 Python
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript