JS实现分页功能
分页在网页上是一个很常见的功能,今天我们来实现一个新闻列表,包含了分页的功能,效果如下:
那么如何来实现这个功能呢?
一:html和css如下所示,就不多说了
html:
<!--新闻容器--> <div class="new-main"></div> <!--分页容器--> <div class="pagination-container"> <span class="page-change prev">上一页</span> <div class="pagination"></div> <span class="page-change next">下一页</span> </div>
css:
body{
background-color: #f8f8f8;
}
.new-main{
width: 40%; margin: 100px auto 20px; padding: 15px; background-color: #fff;
}
.new-main .item{
margin-bottom: 20px;
}
.new-main .item-title{
text-align: left; padding: 15px; font-weight: bold; font-size:18px;
}
.pagination-container{
text-align: center;
}
.pagination{
display: inline-block;
}
.pagination a{
background-color: #999; color: #fff; padding: 1px 6px; text-decoration:none; border-radius: 5px; margin-right: 10px; cursor:pointer;
}
.pagination a.active{
background-color: #85D1FF;
}
.page-change{
margin: 0 15px; cursor:pointer;
}
.skip input{
width: 50px;
}
二:JavaScript的实现
1,这是准备渲染新闻列表的数据
let newsData = [
{ title:'美国科技巨头"花式劝退"老员工,数万人丢掉饭碗', content:'在数十年前称霸业界的时代,IBM在美国的员工人数曾一度增至25万。'
},
{ title:'央视名嘴贺炜8连红变彩神 命中11场比赛带彩民致富', content:'2019年8月1日,周中足彩比赛火热进行中,在今天上午结束的两场解放者杯比赛中' }, { title:'53岁巩俐为新戏现身女排集训 紧盯郎平认真做笔记', content:'当天的巩俐穿着非常普通,而且没有化妆,看起来非常低调' }, { title:'郎朗回应没帮老婆拿行李:以后得多帮她提些', content:'郎朗与妻子吉娜·爱丽丝现身机场' }, { title:'以身试菌”的疯狂科学家', content:'几十年来,主流学说一直认为胃溃疡主要是由于压力过大、吃太多辛辣食物和胃酸过多引起的。' }, { title:'詹皇回应被喷:黑够了吧 皇冠被玩弄太久我该爆发了', content:'他看儿子比赛时的激动反应被一些专家质疑“抢戏博关注”' }, { title:'格里芬:围绕詹姆斯建队很无趣 夺冠后就想离开', content:'从2014-2017,格里芬在骑士队完成了多笔出色的运作' }, { title:' 《哪吒》票房超《疯狂动物城》,位列中国影史动画电影票房第一', content:'哪吒之魔童降世》的累积票房破15.28亿,打破由《疯狂动物城》保持的分账票房15.27705亿元累计综合票房纪录,登顶新冠军。' }, { title:' 浓眉哥赤膊苦练!训练机器纪录被打破,湖人二当家霸气秀肌肉', content:'北京时间8月1日,浓眉哥继续今夏的苦练' }, { title:' 新疆男篮大外援人选确定 阿的江的选择让人意外!', content:'这两天CBA似乎掀起了夏季转会的高潮,包括辽宁男篮在内的冲冠集团都开始确定外援' }, { title:' 乔家大院被摘牌后:晋中市委书记要求彻查整改,尽快再创5A', content:'山西省晋中市乔家大院景区在被文化和旅游部取消旅游景区质量等级次日,晋中市召开专题会议研究部署整改工作等。' }, { title:' 大族激光低开逾9% 股价创逾两年新低', content:'大族激光低开逾9%,股价创逾两年新低。公司公告为董事长不当言论致歉,同时公司称欧洲研发中心项目主体建筑已经建成,预计在2020年底竣工。' }, { title:' 捡漏悍将!快船又升级,夺冠赔率第一超湖人,仍留位抢FMVP?', content:'北京时间8月2日,根据ESPN名记沃纳洛夫斯基的报道,雷霆正式买断了大前锋帕特里克·帕特森,而帕特森在过了澄清期之后计划加盟快船。' }, { title:' 又将有两名NBA球员加盟CBA?其中一位还是勇士总冠军成员', content:'北京时间8月1日,据国内媒体报道,辽宁队主帅郭士强表示正在球队考察小外援,前洛杉矶湖人队球员兰斯-史蒂芬森是候选人之一。' }
];
2,获取元素
let newMain = document.querySelector('.new-main');//新闻容器
let pagination = document.querySelector('.pagination');//分页容器
let pageCount = Math.ceil(newsData.length/5); //根据数据的长度计算总共几页
let newsDataRender = [];//每页要显示的数据
let p = 1;//根据p值显示每页的数据
3,渲染初始化页面
//渲染页面函数
let render = ()=>{
newMain.innerHTML = ' ';
newsDataRender = newsData.slice((p-1)5,5p); //每页要显示的数据,一页显示5条
newsDataRender.forEach((item,index)=>{
newMain.innerHTML += ` <div class="item"> <div class="item-title">${item.title}</div> <div class="item-content"> ${item.content} </div>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript函数式编程究竟是什么?
摘要: 理解函数式编程。 作者:前端小智 原文:JS中函数式编程基本原理简介 Fundebug经授权转载,版权归原作者所有。 在长时间学习和使用面向对象编程之后,咱们退一步来考虑系统复杂性。 在做了一些研究之后,我发现了函数式编程的概念,比如不变性和纯函数。这些概念使你能够构建无副作用的函数,因此更容易维护具有其他优点的系统。 在这篇文章中,将通大量代码示例来详细介绍函数式编程和一些相关重要概念。 什么是函数式编程 函数式编程是一种编程范式,是一种构建计算机程序结构和元素的风格,它把计算看作是对数学函数的评估,避免了状态的变化和数据的可变。 纯函数 当我们想要理解函数式编程时,需要知道的第一个基本概念是纯函数,但纯函数又是什么鬼? 咱们怎么知道一个函数是否是纯函数?这里有一个非常严格的定义: 如果给定相同的参数,则返回相同的结果(也称为确定性)。 它不会引起任何副作用。 如果给定相同的参数,则得到相同的结果 如果给出相同的参数,它返回相同的结果。 想象一下,我们想要实现一个计算圆的面积的函数。 不是纯函数会这样做,接收radius 作为参数,然后计算radius * radius * ...
- 下一篇
MessagePack Java 0.6.X 多种类型变量的序列化和反序列化
类Packer/Unpacker允许序列化和反序列化多种类型的变量,如后续程序所示。这个类启用序列化和反序列化多种类型的变量和序列化主要类型变量以及包装类,String对象,byte[]对象,ByteBuffer对象等的方法相似。 如上面提示的,你可以序列化和反序列化你自己的对象,前提是你自己的对象需要使用@Message注解。 package com.insight.demo.msgpack; import org.junit.Test; import org.msgpack.MessagePack; import org.msgpack.packer.Packer; import org.msgpack.unpacker.Unpacker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.math.BigInteger; import java....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8