html js实现分页代码,JS实现前端动态分页码代码实例

思路分析:有3种情况

第一种情况,当前页面curPage < 4

9de4b34eae362d5b4be003e9209235ef.png

第二种情况,当前页面curPage == 4

e5c93f054a6742c5230c7905bf5c7cef.png

第三种情况,当前页面curPage>4

6cbd477c01ab27dd431bea1860c1adc3.png

此外,还要考虑,当前页码 curPage < pageTotal(总页码)-2,才显示 ...

首先,先是前端的布局样式

/*首先,在body中添加div id="pagination" */

其次,是css代码

*{

margin: 0;

padding: 0;

}

#pagination{

width: 500px;

height: 100px;

border: 2px solid crimson;

margin: 50px auto ;

padding-top: 50px ;

padding-left: 50px;

}

.over,.pageItem{

float: left;

display: block;

width: 35px;

height: 35px;

line-height: 35px;

text-align: center;

}

.pageItem{

border: 1px solid orangered;

text-decoration: none;

color: dimgrey;

margin-right: -1px;/*解决边框加粗问题*/

}

.pageItem:hover{

background-color: #f98e4594;

color:orangered ;

}

.clearfix{

clear: both;

}

.active{

background-color: #f98e4594;

color:orangered ;

}

.banBtn{

border:1px solid #ff980069;

color: #ff980069;

}

#prevBtn{

margin-right: 10px;

}

#nextBtn{

margin-left: 10px;

}

JavaScript代码

var pageOptions = {pageTotal:10,curPage:7,paginationId:''};

dynamicPagingFunc(pageOptions);

function dynamicPagingFunc(pageOptions){

var pageTotal = pageOptions.pageTotal || 1;

var curPage = pageOptions.curPage||1;

var doc = document;

var paginationId = doc.getElementById(''+pageOptions.paginationId+'') || doc.getElementById('pagination');

var html = '';

if(curPage>pageTotal){

curPage =1;

}

/*总页数小于5,全部显示*/

if(pageTotal<=5){

html = appendItem(pageTotal,curPage,html);

paginationId.innerHTML = html;

}

/*总页数大于5时,要分析当前页*/

if(pageTotal>5){

if(curPage<=4){

html = appendItem(pageTotal,curPage,html);

paginationId.innerHTML = html;

}else if(curPage>4){

html = appendItem(pageTotal,curPage,html);

paginationId.innerHTML = html;

}

}

}

function appendItem(pageTotal,curPage,html){

var starPage = 0;

var endPage = 0;

html+='<';

if(pageTotal<=5){

starPage = 1;

endPage = pageTotal;

}else if(pageTotal>5 && curPage<=4){

starPage = 1;

endPage = 4;

if(curPage==4){

endPage = 5;

}

}else{

if(pageTotal==curPage){

starPage = curPage-3;

endPage = curPage;

}else{

starPage = curPage-2;

endPage = curPage+1;

}

html += '1...';

}

for(let i = starPage;i <= endPage;i++){

if(i==curPage){

html += ''+i+'';

}else{

html += ''+i+'';

}

}

if(pageTotal<=5){

html+='>';

}else{

if(curPage

html += '...';

}

if(curPage<=pageTotal-2){

html += ''+pageTotal+'';

}

html+='>';

}

return html;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值