JS实现分页功能

简介: 分页在网页上是一个很常见的功能,今天我们来实现一个新闻列表

分页在网页上是一个很常见的功能,今天我们来实现一个新闻列表,包含了分页的功能,效果如下:
1564898364_1_

那么如何来实现这个功能呢?

一: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>

相关文章
|
1月前
|
JavaScript 前端开发 安全
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
46 10
|
1月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
54 8
|
2月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
3月前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
69 5
|
3月前
|
JavaScript
js实现简洁实用的网页计算器功能源码
这是一款使用js实现简洁实用的网页计算器功能源码。可实现比较基本的加减乘除四则运算功能,界面简洁实用,是一款比较基本的js运算功能源码。该源码可兼容目前最新的各类主流浏览器。
59 2
|
4月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
115 1
|
4月前
|
JavaScript 前端开发 API
|
4月前
|
JavaScript API UED
vue.js怎么实现全屏显示功能
【10月更文挑战第7天】
104 1
|
4月前
|
JavaScript 搜索推荐
JS中的模糊查询功能
JS中的模糊查询功能
70 1
|
4月前
|
前端开发 JavaScript
使用 JavaScript 实现图片预览功能
使用 JavaScript 实现图片预览功能
100 0

热门文章

最新文章