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的一些常用方法小结
Jun 29 Javascript
javascript实现Table排序的方法
May 15 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
JS中Attr的用法详解
Oct 09 Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
node创建Vue项目步骤详解
Mar 06 Javascript
vue如何在项目中调用腾讯云的滑动验证码
Jul 15 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 18 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
Chrome Web App开发小结
2014/09/04 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
关于JS字符串函数String.replace()
2013/04/07 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python读取word文本操作详解
2018/01/22 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Python assert语句的简单使用示例
2019/07/28 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
幼儿园教师个人反思
2014/01/30 职场文书
区域经理岗位职责
2015/02/02 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js