真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用jQuery怎么封裝一個分頁組件

今天就跟大家聊聊有關(guān)利用jQuery怎么封裝一個分頁組件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

專注于為中小企業(yè)提供網(wǎng)站建設、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)白云免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

思路:

主要是初始化時基于原型建立的分頁模板然后綁定動態(tài)事件并實現(xiàn)刷新DOM的分頁效果。

1.page.init.css

@charset "utf=8";
*{
 box-sizing: border-box;
 padding: 0;
 margin: 0;
}
.page{
 font-size: 13px;
 text-align: right;
}
.page .page_to{
 display: inline-block;
 max-width: 250px;
}
.page .page_to li{
 display: inline-block;
 width: auto;
 height: auto;
 border: 1px solid #ddd;
 padding:5px 10px;
 border-left-width: 0;
 color: #323232;
 cursor: pointer;
}
.page .page_to li.page_hide{
 display: none;
}
.page .page_to li:hover{
 color: #32C2CD;
 background-color: #f4f4f4;
 border-color: #DDDDDD;
}
.page .page_to li:first-child{
 border-left-width: 1px;
}
.page .page_jump{
 display: inline-block;
 width: 180px;
}
.page .page_jump input.page_jump_input{
 width: 52px;
 height: 28px;
 text-align: center;
 text-decoration: none;
 background-color: #fff;
 border: 1px solid #ddd;
 margin:0 4px;
}
.page .page_jump input.page_jump_btn{
 display: inline-block;
 padding: 7px 20px;
 margin-left: 5px;
 font-size: 14px;
 font-weight: 400;
 line-height: 1.42857143;
 text-align: center;
 white-space: nowrap;
 vertical-align: middle;
 -ms-touch-action: manipulation;
 touch-action: manipulation;
 cursor: pointer;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 border: 1px solid transparent;
 border-radius: 4px;
 background-color: #00BB9C;
 color: #FFFFFF;
 font-weight: bold;
}

2.pageInit.js

/**
 * Created: 2017/6/20.
 * author: Aaron
 * address: http://www.cnblogs.com/aaron-pan/
 */
(function($,window,undefined){

 var curPage='',
 //跳轉(zhuǎn)是否有值
 jumpVal='',
 //從DOM中重新獲取數(shù)據(jù)總數(shù)/總頁數(shù)
 lists='',
 totals='',
 //是否返回值
 isTrue=false;

 var Page=function(opts){
 this.settings= $.extend({},Page.defaults,opts);
 curPage=this.settings.initPage;
 totals=this.settings.totalPages;
 jumpVal=this.settings.inputVal;
 this.init();
 };

 //默認配置
 Page.defaults={
 container:'.page',
 setPos:'body',
 totalPages:null,
 totalLists:null,
 initPage:1,
 inputVal:1,
 callBack:null
 };

 Page.prototype={
 init:function(){
  this.create();
 },
 create:function(){
  var _template=''+
  ''+
  '共'+this.settings.totalLists+'條記錄,'+
  '第'+curPage+'/'+
  ''+this.settings.totalPages+'頁'+
  ''+
  ''+
  ''+
  '首頁'+
  '« 上一頁'+
  '下一頁 »'+
  '末頁'+
  ''+
  '
'+   ''+   '第:'+   ''+   '
'+   '
';   $(this.settings.setPos).append(_template);   this.refreshDom();   this.bindEvent();  },  bindEvent:function(){   var _this=this;   //跳轉(zhuǎn)首頁   $(this.settings.container).on("click",".page_first",function(){   lists=$(_this.settings.container).find(".page_num").text();   totals=$(_this.settings.container).find(".page_size").text();   if($.isFunction(_this.settings.callBack)){    curPage=1;    isTrue=_this.settings.callBack(1);    if(isTrue){    _this.refreshDom();    $(_this.settings.container).find(".page_current").text(1);    $(_this.settings.container).find(".page_jump_input").val(curPage);    }   }   });   //跳轉(zhuǎn)上一頁   $(this.settings.container).on("click",".page_pre",function(){   lists=$(_this.settings.container).find(".page_num").text();   totals=$(_this.settings.container).find(".page_size").text();   if($.isFunction(_this.settings.callBack)){    if(curPage>1){    curPage=curPage-1;    isTrue=_this.settings.callBack(curPage);    if(isTrue){     _this.refreshDom();     $(_this.settings.container).find(".page_current").text(curPage);     $(_this.settings.container).find(".page_jump_input").val(curPage);    }    }   }   });   //跳轉(zhuǎn)下一頁   $(this.settings.container).on("click",".page_next",function(){   lists=$(_this.settings.container).find(".page_num").text();   totals=$(_this.settings.container).find(".page_size").text();   if($.isFunction(_this.settings.callBack)){    if(curPage=1 && jumpVal <=totals){    curPage=jumpVal;    isTrue=_this.settings.callBack(curPage);    if(isTrue){     _this.refreshDom();     $(_this.settings.container).find(".page_current").text(curPage);    }    }else{    jumpVal=curPage;    }   }   });  },  refreshDom:function(){   $(this.settings.container).find("li.flex_child").removeClass("page_hide");   if(Number(totals)==1){   $(this.settings.container).find(".page_pre").addClass("page_hide");   $(this.settings.container).find(".page_next").addClass("page_hide");   }   else if(Number(totals)==2){   if(Number(curPage)==1){    $(this.settings.container).find(".page_pre").addClass("page_hide");   }else{    $(this.settings.container).find(".page_next").addClass("page_hide");   }   }   else if(Number(curPage)==1 && Number(totals)>2){   $(this.settings.container).find(".page_pre").addClass("page_hide");   }   else if(Number(curPage)==Number(totals) && Number(totals)>2){   $(this.settings.container).find(".page_next").addClass("page_hide");   }  }  };  var pageInit=function(opts){  return new Page(opts);  };  window.pageInit= $.pageInit=pageInit; })(jQuery,window,undefined);

3.組件調(diào)用

通過 window.pageInit= $.pageInit=pageInit 可完成分頁組件初始化。

暴露出來的接口分別為:

1.container:DOM的容器,默認.page

2.setPos:DOM放置的HTML位置,默認body

3.totalPages:默認的頁數(shù),必填,默認null

4.totalLists:默認的數(shù)據(jù)總數(shù),必填,默認null

5.initPage:當前頁,默認第一頁

6.inputVal:跳轉(zhuǎn)頁,默認第一頁

7.callBack:執(zhí)行的回調(diào)函數(shù),必填,默認null




 
 基于jQuery封裝的分頁組件
 






效果:

通過callBack接口,添加自己所需要執(zhí)行的function函數(shù),并且需要return true時才回執(zhí)行動態(tài)的DOM渲染。

利用jQuery怎么封裝一個分頁組件

看完上述內(nèi)容,你們對利用jQuery怎么封裝一個分頁組件有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)站標題:利用jQuery怎么封裝一個分頁組件
分享地址:http://weahome.cn/article/gdcped.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部