成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁(yè) ? 技術(shù)教程 ? 最實(shí)用的jQuery分頁(yè)插件
全站頭部文字 我要出現(xiàn)在這里
最實(shí)用的jQuery分頁(yè)插件 680 2024-02-16   

在做商城和訂單管理的時(shí)候,常常會(huì)用到分頁(yè)功能,所以我封裝了一個(gè)jQuery的分頁(yè)插件,該插件主要實(shí)現(xiàn)上下翻頁(yè),輸入數(shù)字跳轉(zhuǎn)等功能。

查看圖片

具體實(shí)現(xiàn)如下:

輸入?yún)?shù)需要當(dāng)前頁(yè)碼pageNo,總頁(yè)碼totalPage,回調(diào)函數(shù)callback。

主要的實(shí)現(xiàn)有兩個(gè)函數(shù),一個(gè)是根據(jù)當(dāng)前頁(yè)和總頁(yè)數(shù)生成相應(yīng)的html的代碼,一個(gè)是事件綁定及回調(diào)函數(shù)的執(zhí)行。

creatHtml函數(shù):

creatHtml:function(){
 var me=this;
 var content="";
  //當(dāng)前頁(yè)碼
 var current=me.options.pageNo;
  //總頁(yè)碼
 var total=me.options.totalPage;
  //當(dāng)前頁(yè)碼大于1顯示向上翻頁(yè)按鈕
 if(current > 1){
 content += "<a><</a>";
 }
  //總頁(yè)數(shù)大于7,根據(jù)當(dāng)前頁(yè)顯示省略號(hào),否則顯示全部頁(yè)碼
 if(total > 7){
 if(current < 4){
  for(var i=1;i<7;i++){
  if(current==i){
   content += "<a class='current'>"+i+"</a>";
  }else{
   content += "<a>"+i+"</a>";
  }
  }
  content += "...";
  content += "<a>"+total+"</a>";
 }else{
  if(current < total - 3){
  content += "<a name='1' type='button' class='page num'>1</a>";
  content += "...";
  for(var i=current-2;i<current+3;i++){
   if(current==i){
   content += "<a class='current'>"+i+"</a>";
   }else{
   content += "<a>"+i+"</a>";
   }
  }
  content += "...";
  content += "<a>"+total+"</a>";
  }else{
  content += "<a>1</a>";
  content += "...";
  for(var i=total-5;i<total+1;i++){
   if(current==i){
   content += "<a class='current'>"+i+"</a>";
   }else{
   content += "<a>"+i+"</a>";
   }
  }
  }
 }
 }else{
 for(var i=1;i<total+1;i++){
  if(current==i){
  content += "<a class='current'>"+i+"</a>";
  }else{
  content += "<a>"+i+"</a>";
  }
 }
 }
  //當(dāng)前頁(yè)小于總頁(yè)數(shù),顯示向下翻頁(yè)按鈕
 if(current < total){
 content += "<a>></a>";
 }
  //輸入跳轉(zhuǎn)
 content += " 到第 ";
 content += "<input max='3' maxlength='3' value='"+current+"' type='text' />";
 content += " 頁(yè) ";
 content += "<a>Go</a>";
  //更新HTML
 me.element.html(content);
}

bindEvent函數(shù):

bindEvent:function(){
 var me=this;
  //分頁(yè)點(diǎn)擊事件
 me.element.on('click','a',function(){
 var num=$(this).html();
 if(num=="<"){//上翻
  me.options.pageNo=+me.options.pageNo-1;
 }else if(num==">"){//下翻
  me.options.pageNo=+me.options.pageNo+1;
 }else if(num=="Go"){//輸入頁(yè)碼跳轉(zhuǎn)
  var ipt=+me.element.find('input').val();
  if(ipt&&ipt<=me.options.totalPage&&ipt!=me.options.pageNo){
  me.options.pageNo=ipt;
  }
 }else{//直接跳轉(zhuǎn)
  me.options.pageNo=+num;
 }
    //更新html
 me.creatHtml();
    //調(diào)用回調(diào)函數(shù),返回當(dāng)前頁(yè)碼
 if(me.options.callback){
  me.options.callback(me.options.pageNo);
 }
 });
}

將函數(shù)封裝起來(lái),完整如下:

;(function($,window,document,undefined){
 var initDate={
 pageNo:1,
 totalPage:1,
 callback:function(){}
 };
 function Paging(element,options){
 this.element = element;
 this.options=options=$.extend(initDate,options||{});
 this.init();
 }
 Paging.prototype={ 
 constructor:Paging,
 init:function(){
  this.creatHtml();
  this.bindEvent();
 },
 creatHtml:function(){
  var me=this;
  var content="";
  var current=me.options.pageNo;
  var total=me.options.totalPage;
  if(current > 1){
  content += "<a><</a>";
  }
  if(total > 7){
  if(current < 4){
   for(var i=1;i<7;i++){
   if(current==i){
    content += "<a class='current'>"+i+"</a>";
   }else{
    content += "<a>"+i+"</a>";
   }
   }
   content += "...";
   content += "<a>"+total+"</a>";
  }else{
   if(current < total - 3){
   content += "<a name='1' type='button' class='page num'>1</a>";
   content += "...";
   for(var i=current-2;i<current+3;i++){
    if(current==i){
    content += "<a class='current'>"+i+"</a>";
    }else{
    content += "<a>"+i+"</a>";
    }
   }
   content += "...";
   content += "<a>"+total+"</a>";
   }else{
   content += "<a>1</a>";
   content += "...";
   for(var i=total-5;i<total+1;i++){
    if(current==i){
    content += "<a class='current'>"+i+"</a>";
    }else{
    content += "<a>"+i+"</a>";
    }
   }
   }
  }
  }else{
  for(var i=1;i<total+1;i++){
   if(current==i){
   content += "<a class='current'>"+i+"</a>";
   }else{
   content += "<a>"+i+"</a>";
   }
  }
  }
  if(current < total){
  content += "<a>></a>";
  }
  content += " 到第 ";
  content += "<input max='3' maxlength='3' value='"+current+"' type='text' />";
  content += " 頁(yè) ";
  content += "<a>Go</a>";
  me.element.html(content);
 },
 bindEvent:function(){
  var me=this;
  me.element.on('click','a',function(){
  var num=$(this).html();
  if(num=="<"){
   me.options.pageNo=+me.options.pageNo-1;
  }else if(num==">"){
   me.options.pageNo=+me.options.pageNo+1;
  }else if(num=="Go"){
   var ipt=+me.element.find('input').val();
   if(ipt&&ipt<=me.options.totalPage&&ipt!=me.options.pageNo){
   me.options.pageNo=ipt;
   }
  }else{
   me.options.pageNo=+num;
  }
  me.creatHtml();
  if(me.options.callback){
   me.options.callback(me.options.pageNo);
  }
  });
 }
 };
 $.fn.paging=function(options){
 options=$.extend(initDate,options||{});
 return new Paging($(this),options);
 }
})(jQuery,window,document);

HTML:

<div id="page"></div>

js引用:

$('#page').paging({pageNo:2,totalPage:10,callback:function(cur){
 console.log(‘當(dāng)前頁(yè):'+cur);//當(dāng)前頁(yè):2
}});

這里加了一些簡(jiǎn)單的樣式,可以根據(jù)具體的ui設(shè)計(jì)來(lái)設(shè)計(jì)樣式。

 <style type="text/css">
 a{
 width: 23px;
 height: 23px;
 border: 1px solid #dce0e0;
 text-align: center;
 margin: 0 4px;
 cursor: pointer;
 display: inline-block;
 }
 .current{
 background-color: #5ac3e7;
 }
 </style>

github地址:https://github.com/Martian1/jQuery.paging.js

更多精彩內(nèi)容請(qǐng)點(diǎn)擊:jquery分頁(yè)功能匯總進(jìn)行學(xué)習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持綠夏網(wǎng)。



主站蜘蛛池模板: 深夜福利在线| 妇检被男医生摸到喷水| 成毅最新电视剧赴山海免费看| so xo minh ngoc| 火花 电影| 金燕子| 范艳| 九九九九九九伊人| 吃光全宇宙| 江湖儿女演员表全部| 宋允雅| 夜之花电影| 周记作文| 敦煌夜谭在线观看| 山东教育电视台直播在线观看 | 误杀2电影免费观看高清完整版| 我们的祖国是花园简谱| 日韩欧美视频在线播放| 韩国最火女团的舞蹈| 格伦鲍威尔| free hd xxxx moms movie777| 衢州电视台新闻综合频道直播| g83钻孔循环怎么编程 | 扒开双腿猛进入小柔的扮演者| 全国急招压路机师傅| 白色圣诞节| 山上的小屋免费阅读小说全文| 逆光飞翔 电影| 张月个人资料| 法证先锋2| 被主人调教| 国家级期刊目录| 杨幂吻戏| 披萨女孩| 美娜个人资料简介| 鹿单东演过的短剧| 药师心咒全文注音| 武林外传豆瓣| 不得不爱吉他谱| 密使所有演员表| 我有一个好朋友作文二年级|

!!!站長(zhǎng)長(zhǎng)期在線接!!!

網(wǎng)站、小程序:定制開(kāi)發(fā)/二次開(kāi)發(fā)/仿制開(kāi)發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長(zhǎng)微信:lxwl520520

站長(zhǎng)QQ:1737366103