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 相关文章推荐
js 目录列举函数
Nov 06 Javascript
jQuery Masonry瀑布流插件使用详解
Nov 17 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
vue 监听屏幕高度的实例
Sep 05 Javascript
js中async函数结合promise的小案例浅析
Apr 14 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
three.js显示中文字体与tween应用详析
Jan 04 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
mysql5详细安装教程
2007/01/15 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
python中threading超线程用法实例分析
2015/05/16 Python
常用python编程模板汇总
2016/02/12 Python
python实现12306火车票查询器
2017/04/20 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
教师现实表现材料
2014/02/14 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
欢迎新生标语2015
2015/07/16 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang