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 设计模式 推荐
Oct 28 Javascript
javascript延时加载之defer测试
Dec 28 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
JavaScript中Date.toSource()方法的使用教程
Jun 12 Javascript
jQuery Ajax 全局调用封装实例代码详解
Jun 02 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 Javascript
详解Angular2响应式表单
Jun 14 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
Sep 04 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
Oct 19 Javascript
Vue.js标签页组件使用方法详解
Oct 19 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
java解析json方法总结
2019/05/16 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
Vue实现路由跳转和嵌套
2017/06/20 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
js中值引用和地址引用实例分析
2019/06/21 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
python开发之文件操作用法实例
2015/11/13 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
手机被没收检讨书
2014/02/22 职场文书
英语教师岗位职责
2014/03/16 职场文书
个人担保书范文
2014/05/20 职场文书
政风行风建设整改方案
2014/10/27 职场文书
诚信承诺书
2015/01/19 职场文书
初三英语教学计划
2015/01/23 职场文书
雨花台导游词
2015/02/06 职场文书
关于童年的读书笔记
2015/06/26 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
python自动化测试之Selenium详解
2022/03/13 Python
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript