手机端html分页组件,分享一个自己写的简单的javascript分页组件

自己写的一个简单的分页组件,主要功能还有实现都在JS中,html页面中只用增加一个放置生成分页的DIV,并给定容器的id.

html结构如下:

class="pagination" 给定了分页的样式,

id="pageDIV"用于放置JS生成的分页

CSS结构如下:

.pagination{

margin-top: 10px;

margin-bottom: 10px;

display: inline-block;

padding-left: 0;

margin: 20px 0;

border-radius: 4px;

}

.pagination>li {

display: inline;

}

.pagination>li:first-child>a{

margin-left: 0;

border-top-left-radius: 4px;

border-bottom-left-radius: 4px;

}

.pagination>li>a{

position: relative;

float: left;

padding: 6px 12px;

margin-left: -1px;

line-height: 1.42857143;

color: #337ab7;

text-decoration: none;

background-color: #fff;

border: 1px solid #ddd;

cursor: pointer;

}

.pagination>li>a.navcur{

background: #cccccc;

color: #ffffff;

}

下面是JS结构,注意要引用JQuery

/**

* @pageContentID 渲染分页的DIV元素

* @curPage 当前开始页

* @totalCount 总数量

* @pageRows 每页显示数量

* @callback 显示数据的回调函数

*/

function PageList(pageContentID,option){

this.pageContentID=document.getElementById(pageContentID);

this.curPage=option.curPage;

this.totalCount=option.totalCount;

this.pageRows=option.pageRows;

this.callback=option.callback;

this.pageSize=Math.ceil(this.totalCount/this.pageRows);

}

PageList.prototype={

init:function(){

this.renderbtn();

},

firstpage:function(){

var _self=this;

_self._firstpage=document.createElement("li");

_self._firstpageA=document.createElement("a");

_self._firstpageA.innerHTML="首页";

_self._firstpage.appendChild(_self._firstpageA);

this.pageContentID.appendChild(_self._firstpage);

_self._firstpage.οnclick=function(){

_self.gotopage(1);

}

},

lastpage: function () {

var _self=this;

_self._lastpage=document.createElement("li");

_self._lastpageA=document.createElement("a");

_self._lastpageA.innerHTML="尾页";

_self._lastpage.appendChild(_self._lastpageA);

this.pageContentID.appendChild(_self._lastpage);

_self._lastpage.οnclick= function () {

_self.gotopage(_self.pageSize);

}

},

prewpage: function () {

var _self=this;

_self._prew=document.createElement("li");

_self._prewA=document.createElement("a");

_self._prewA.innerHTML="<

_self._prew.appendChild(_self._prewA);

this.pageContentID.appendChild(_self._prew);

_self._prew.οnclick= function () {

if(_self.curPage>1){

_self.curPage--;

}

_self.callback.call(this,this.curPage);

_self.init();

console.log(_self.curPage);

}

},

nextpage: function () {

var _self=this;

_self._next=document.createElement("li");

_self._nextA=document.createElement("a");

_self._nextA.innerHTML=">>";

_self._next.appendChild(_self._nextA);

this.pageContentID.appendChild(_self._next);

_self._next.οnclick= function () {

if(_self.curPage<_self.pagesize>

_self.curPage++;

}

_self.callback.call(this,this.curPage);

_self.init();

console.log(_self.curPage);

}

},

pagenum: function () {

var _self=this;

if(this.pageSize<=10){

for(var i= 1,len=this.pageSize;i<=len;i++){

_self._num=document.createElement("li");

_self._numA=document.createElement("a");

_self._numA.innerHTML=i;

_self._num.appendChild(_self._numA);

this.pageContentID.appendChild(_self._num);

_self._num.οnclick= function () {

var curpage = $(this).text();

_self.gotopage(curpage);

}

}

}

else{

if(_self.curPage<=10){

for(var i= 1;i<=10;i++){

_self._num=document.createElement("li");

_self._numA=document.createElement("a");

_self._numA.innerHTML=i;

_self._num.appendChild(_self._numA);

this.pageContentID.appendChild(_self._num);

_self._num.οnclick= function () {

var curpage = $(this).text();

_self.gotopage(curpage);

}

}

}

else if(_self.curPage>10&&_self.curPage<=this.pageSize){

if(this.pageSize

for(var i=Math.floor(_self.curPage/10)*10+1;i<=this.pageSize;i++){

if(_self.curPage>this.pageSize)

return;

_self._num=document.createElement("li");

_self._numA=document.createElement("a");

_self._numA.innerHTML=i;

_self._num.appendChild(_self._numA);

this.pageContentID.appendChild(_self._num);

_self._num.οnclick= function () {

var curpage = $(this).text();

_self.gotopage(curpage);

}

}

}else{

if(Math.ceil(_self.curPage/10)*10==_self.curPage){

for(var i=_self.curPage-9;i<=_self.curPage;i++){

_self._num=document.createElement("li");

_self._numA=document.createElement("a");

_self._numA.innerHTML=i;

_self._num.appendChild(_self._numA);

this.pageContentID.appendChild(_self._num);

_self._num.οnclick= function () {

var curpage = $(this).text();

_self.gotopage(curpage);

}

}

}else{

for(var i=Math.floor(_self.curPage/10)*10+1;i<=Math.ceil(_self.curPage/10)*10;i++){

_self._num=document.createElement("li");

_self._numA=document.createElement("a");

_self._numA.innerHTML=i;

_self._num.appendChild(_self._numA);

this.pageContentID.appendChild(_self._num);

_self._num.οnclick= function () {

var curpage = $(this).text();

_self.gotopage(curpage);

}

}

}

}

}

}

$(".pagination li").each(function(){

if($(this)[0].innerText==_self.curPage){

$(".pagination li").children("a").removeClass("navcur");

$(this).children("a").addClass("navcur");

}

});

},

gotopage: function (curpage) {

this.curPage=curpage;

this.callback.call(this,this.curPage);

this.init();

console.log(this.curPage);

},

renderbtn: function () {

$(".pagination").html("");

this.firstpage();

this.prewpage();

this.pagenum();

this.nextpage();

this.lastpage();

}

};

$(function(){

var pager = new PageList("pageDIV",{

curPage:1,

totalCount:26,

pageRows:1,

callback:callbackFuc

});

pager.init();

});

function callbackFuc(curpage){

}

说明:

此分页是以10页为标准,低于10页的时候全部显示,大于10页的时候,进行翻页显示余下页数.

调用方法:

$(function(){

var pager = new PageList("pageDIV",{

curPage:1,

totalCount:26,

pageRows:1,

callback:callbackFuc

});

pager.init();

});

以上就是本分页组件的核心代码了,希望小伙伴们能够喜欢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值