亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

純javascript實現分頁(兩種方法)

2019-11-20 11:41:50
字體:
來源:轉載
供稿:網友

先給大家貼效果圖:


     網上確實有很多分頁的插件以及開源代碼,單本是一個后臺開發猿,前臺css等樣式還駕馭不住,所以就開始自己去寫了。其實這個分頁原理很簡單,就是用ajax往后臺傳值(當前頁碼),后臺使用limit進行分頁。

     因為這是我自己第一次動手用js寫分頁,寫的應該也不是很完美,有些公共的沒有抽取出來,但是用起來還是可以的,這塊代碼是可以把它當做公共的分頁去處理的,我就是用

這塊代碼寫了兩個稍微不同一些的分頁!公共的代碼抽取的也差不多,主要就是ajax后臺以及返回的值不同而已,只要把總頁碼的值獲取到,點擊首頁/下一頁等傳值正確的話,基本上分頁是不會出什么問題的

純js實現分頁方法一:

廢話不多說,直接上代碼了!     

注:本項目是全程使用js來寫的,前臺的數據通過ajax進行獲取,然后再進行拼裝,動態加載到頁面。

1.先把上一頁,下一頁等的代碼附上(里面的值都是偽值,下面會在js里進行重新賦值的!)

<ul class="page" id="page">  <li id="shouye" class="p-prev disabled">   <a href='javascript:indexpage(1);'>首 頁</a>  </li>  <li id="shangyiye" class="p-prev disabled" >   <a href='javascript:indexpage(-1);'><i></i>上一頁</a>  </li>  <li ><a id="one" href="javascript:void(0);" >1</a></li>  <li><a id="two" href="javascript:void(0);" >2</a></li>  <li><a id="three" href="javascript:void(0);" >3</a></li>  <li class="more"><a id="five" href="javascript:void(0);" >...</a></li>  <li><a id="fore" href="javascript:void(0);" >13855</a></li>  <li class='p-next'>   <a href='javascript:indexpage(-3);' onclick="jumpToPage('2','/goods/ajaxqueryGoodsList.do.html','','goodsListContainer','13855', listPageCallback);">下一頁<i></i></a>  </li>  <li id="weiye" class='p-next'>   <a href='javascript:void(0);' onclick="indexpage(0);">尾 頁</a>  </li>  <li class="total">      <span id="span_number">共13855頁 到第<input type="text" id="input_number" class="page-txtbox" />頁       <input name="" value="確定" type="button" onclick="jumpToPage(jQuery('#input_number').val(),'/goods/ajaxqueryGoodsList.do.html','','goodsListContainer','13855', listPageCallback);" class="page-btn"/>      </span>  </li> </ul>

2.首先在頁面放兩個隱藏域,一個是當前頁碼,一個是總頁碼,總頁碼是頁面加載完,從后臺查詢出來后直接附上值的,當前頁碼是沒操作一個,就要對當前頁碼賦值

<input id="jiazai" type="hidden" ></input><!-- 當前頁碼 --> <input id="totalpage" type="hidden" ></input><!-- 總頁碼 -->

3.寫一個頁面加載完的function,給總頁碼和當前頁碼賦值

$(function(){  $('#jiazai').val(1);//給當前頁碼進行賦值,默認為第一頁  ajaxfunction(page,arg,chipssort,'');//這個方法是抽取的ajax后臺訪問的方法});

 4.抽取的ajax方法,此頁面會用到好幾次這個方法,所有把它收取了出來,因為頁面的數據時通過ajax從后臺獲取到的,后臺返回的是一個List集合

//抽取ajax的方法function ajaxfunction(page,arg,chipssort,fontval){ $.ajax({  type:'POST',  url:'/admin/receptionchips/showlist',//請求的url地址  data:{   page:page,   sort:arg,   chipssort:chipssort,   fontval:fontval  },  dataType:'json',  contentType:'application/x-www-form-urlencoded; charset=utf-8',  success:function(data){   //返回值在進行訪問抽取的方法,從后臺返回   commonfunction(data);  } });}

 5.代碼看到這也不是很多,最后一個了

//抽取拼串的方法function commonfunction(data){ $('#projectlist').find("li").remove();  for (var i=0;i<data.length;i++ )  {   /*****因為此頁面是動態加載的,這里主要就是進行拼串,代碼也不少,就不漏出來占空間了*****/<br>            }<br>      //開始是分頁的核心了  if(data.length>0){   //設置頁碼   var pading = data[0].padingnum;//總頁碼   $('#totalpage').val(pading);   var page = $('#jiazai').val();//當前頁    $('#countpage').html("<b id='currentPageNo'>"+page+"</b>/"+pading+"");    $('#span_number').html("共"+pading+"頁 到第<input type='text' id='input_number' class='page-txtbox' />頁<input name='' value='確定' type='button' onclick='indexpage(-2)'/goods/ajaxqueryGoodsList.do.html','','goodsListContainer','"+pading+"', listPageCallback);' class='page-btn'/>")  }else{   $('#countpage').html("<b id='currentPageNo'>"+0+"</b>/"+0+"");  }  //設置分頁的底部 就是 首頁 1 2 3 4 5 6 尾頁  var pading = data[0].padingnum;//總頁碼href="javascript:void(0);"  var nowpage = $('#jiazai').val();//當前頁  //one two three five fore<br>      //下面代碼看著是比較麻煩,但是也不難理解 全是一樣的代碼,只不過是加了些判斷  if(nowpage<5 ){   $('#one').text(1);   $('#one').attr('href','javascript:pagenum("'+1+'");');   $('#two').text(2);   $('#two').attr('href','javascript:pagenum("'+(2)+'");');   $('#three').text(3);   $('#three').attr('href','javascript:pagenum("'+(3)+'");');   $('#five').text(4);   $('#five').attr('href','javascript:pagenum("'+(4)+'");');   $('#fore').text(5);   $('#fore').attr('href','javascript:pagenum("'+(5)+'");');   $('#five').parent().show();   $('#fore').parent().show();  }else{   //alert("已經不是第五頁了");   //設置中間的為當前頁   $('#one').text(Number(nowpage)-2);   $('#one').attr('href','javascript:indexpage("'+(Number(nowpage)-2)+'");');   $('#two').text(Number(nowpage)-1);   $('#two').attr('href','javascript:indexpage("'+(Number(nowpage)-1)+'");');   $('#three').text(nowpage);   $('#three').attr('href','javascript:indexpage("'+(nowpage)+'");');   $('#five').parent().show();   $('#fore').parent().show();   //判斷下一頁是否超過了總頁數   if(Number(nowpage)+1>pading){    $('#five').parent().hide();    $('#fore').parent().hide();   }else{    $('#five').parent().show();    $('#five').text(Number(nowpage)+1);    $('#five').attr('href','javascript:indexpage("'+(Number(nowpage)+1)+'");');   }   //判斷下一頁的第二頁是否超過了總頁數   if(Number(nowpage)+2>pading){    $('#fore').parent().hide();   }else{    $('#fore').parent().show();    $('#fore').text(Number(nowpage)+2);    $('#fore').attr('href','javascript:indexpage("'+(Number(nowpage)+2)+'");');   }  }  //如果總頁數小于5,這塊代碼主要就是設置 1 2 3 4 5 這些的顯示和隱藏的  if(pading==0){   $('#one').parent().hide();   $('#two').parent().hide();   $('#three').parent().hide();   $('#five').parent().hide();   $('#fore').parent().hide();  }else if(pading==1){   $('#shouye').hide();   $('#weiye').hide();   $('#one').parent().hide();   $('#two').parent().hide();   $('#three').parent().hide();   $('#five').parent().hide();   $('#fore').parent().hide();  }else if(pading==2){   $('#one').parent().show();   $('#two').parent().show();   $('#three').parent().hide();   $('#five').parent().hide();   $('#fore').parent().hide();  }else if(pading==3){   $('#one').parent().show();   $('#two').parent().show();   $('#three').parent().show();   $('#five').parent().hide();   $('#fore').parent().hide();  }else if(pading==4){   $('#one').parent().show();   $('#two').parent().show();   $('#three').parent().show();   $('#five').parent().show();   $('#fore').parent().hide();  }else{   $('#one').parent().show();   $('#two').parent().show();   $('#three').parent().show();   $('#five').parent().show();   $('#fore').parent().show();  }  //設置高亮顯示的,就是是第一頁時,1亮,第二頁時 2亮  $('#page a').each(function() {   $(this).parent().removeClass("current");   if($(this).text()==nowpage){    $(this).parent().addClass("current");   }  });  //分頁完返回頁面頂端  $("html,body").animate({scrollTop:0}, 500);  //最后,給當前頁碼加1 $('#jiazai').val(Number(bianlaing)+Number(1)); }

純js實現分頁方法二:

function goPage(pno,psize){  var itable = document.getElementById("idData");  var num = itable.rows.length;//表格行數  var totalPage = 0;//總頁數  var pageSize = psize;//每頁顯示行數  if((num-1)/pageSize > parseInt((num-1)/pageSize)){    totalPage=parseInt((num-1)/pageSize)+1;    }else{    totalPage=parseInt((num-1)/pageSize);    }   var currentPage = pno;//當前頁數  var startRow = (currentPage - 1) * pageSize+1;//開始顯示的行    var endRow = currentPage * pageSize+1;//結束顯示的行    endRow = (endRow > num)? num : endRow;  //前三行始終顯示  for(i=0;i<1;i++){  var irow = itable.rows[i];  irow.style.display = "block";  }  for(var i=1;i<num;i++){  var irow = itable.rows[i];  if(i>=startRow&&i<endRow){  irow.style.display = "block";  }else{  irow.style.display = "none";  }  }   var pageEnd = document.getElementById("pageEnd");   var tempStr = "";   if(currentPage>1){   tempStr += "<a href="/" mce_href="/""#/" onmouseout='MM_swapImgRestore()' onmouseover=/"MM_swapImage('Image69','','images/back_buttom01_dowm.jpg',1)/" onClick=/"goPage("+(currentPage-1)+","+psize+")/"><img src="/" mce_src="/""images/back_buttom01.jpg/" name='Image69' width='38' height='15' border='0' id='Image69' /></a> "   }else{   tempStr += "<a href="/" mce_href="/""#/" onmouseout='MM_swapImgRestore()' onmouseover=/"MM_swapImage('Image69','','images/back_buttom01_dowm.jpg',1)/"><img src="/" mce_src="/""images/back_buttom01.jpg/" name='Image69' width='38' height='15' border='0' id='Image69' /></a> ";   }   for (var i = 1; i <= totalPage; i++) {    if (i == currentPage) {      tempStr += i+" ";    } else {      tempStr += "<a href="/" mce_href="/""#/" onClick=/"goPage("+(i)+","+psize+")/">"+i+"</a> "    }   }   if(currentPage<totalPage){   tempStr += "<a href="/" mce_href="/""#/" onmouseout=/"MM_swapImgRestore()/" onmouseover=/"MM_swapImage('Image68','','images/next_buttom01_dowm.jpg',1)/" onClick=/"goPage("+(currentPage+1)+","+psize+")/"><img src="/" mce_src="/""images/next_buttom01.jpg/" name='Image68' width='38' height='15' border='0' id='Image68' /></a> ";   }else{   tempStr += "<a href="/" mce_href="/""#/" onmouseout=/"MM_swapImgRestore()/" onmouseover=/"MM_swapImage('Image68','','images/next_buttom01_dowm.jpg',1)/"><img src="/" mce_src="/""images/next_buttom01.jpg/" name='Image68' width='38' height='15' border='0' id='Image68' /></a> ";   }   tempStr +="<a href="/" mce_href="/""#top/" onmouseout=/"MM_swapImgRestore()/" onmouseover=/"MM_swapImage('Image20','','images/top_buttom01_dowm.jpg',1)/"><img src="/" mce_src="/""images/top_buttom01.jpg/" name='Image20' width='38' height='15' border='0' id='Image20' /></a>";   document.getElementById("barcon").innerHTML = tempStr;   }  var base='<%=base%>';  window.onload = function(){   goPage(1,10);  } <div id="barcon" name="barcon"></div> 

溫馨提示:js代碼中上一頁 下一頁定義的圖片根據自己需求可以改的

好了,到這里分頁就完成了,如果你們需要使用的話,可能會話費一會去理解我的代碼,其實代碼不難,我是使用了兩個小時把它寫完的,只要一行一行代碼看,并且自己再加注釋,把這塊弄過去,不出半小時絕對搞定!

好了,到此為止用兩種方法給大家介紹純js實現分頁就結束了,有不明白的地方,歡迎提出,交流,共同學習進步,謝謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产第一页| 成人做爽爽免费视频| 日韩电影中文 亚洲精品乱码| 国产日韩欧美另类| 亚洲男子天堂网| 日韩精品小视频| 永久555www成人免费| 欧美不卡视频一区发布| 精品国产乱码久久久久酒店| 日韩精品视频在线观看免费| 亚洲精品欧美日韩专区| 一本大道香蕉久在线播放29| 日韩欧美亚洲国产一区| 国产精品7m视频| 欧美性受xxx| 国产成人综合一区二区三区| 国产精品久久久久久久久久ktv| 日韩av不卡电影| 久久青草精品视频免费观看| 国产成人一区二| 亚洲淫片在线视频| 国产精品白丝jk喷水视频一区| 中文字幕在线国产精品| 欧美黑人又粗大| 91性高湖久久久久久久久_久久99| 永久555www成人免费| 国产成+人+综合+亚洲欧美丁香花| 国产精品美女免费| 欧美精品中文字幕一区| 97国产在线观看| 日韩a**站在线观看| 国产精品免费福利| 自拍亚洲一区欧美另类| 成人黄在线观看| 国产精品视频久| 欧美大片大片在线播放| 日韩av电影在线网| 成人性生交大片免费看小说| 欧美日韩国产区| 亚洲电影免费观看| 激情懂色av一区av二区av| 国产一区二区三区在线播放免费观看| 最新国产精品亚洲| 亚洲欧美日韩国产精品| 色偷偷91综合久久噜噜| 国产精品久久精品| 亚洲色图综合网| 黄色一区二区在线| 亚洲欧美激情四射在线日| 国外成人在线视频| 国产一区二区免费| 欧美国产日韩一区二区在线观看| 日韩精品视频在线观看免费| 精品久久久久久久久久国产| 欧美精品videosex牲欧美| 欧美专区福利在线| 韩国日本不卡在线| 91高清免费视频| 亚州欧美日韩中文视频| 日本a级片电影一区二区| 欧美大学生性色视频| 最新亚洲国产精品| 日韩国产激情在线| 亚洲欧美日韩精品久久奇米色影视| 日本aⅴ大伊香蕉精品视频| 国产精品jvid在线观看蜜臀| 欧美午夜www高清视频| 77777亚洲午夜久久多人| 日韩大片免费观看视频播放| 日韩毛片在线看| 亚洲成av人片在线观看香蕉| 久久久精品免费视频| 欧美日韩人人澡狠狠躁视频| 亚洲欧美日韩在线高清直播| 欧美高清电影在线看| 亚洲美女在线看| 久久乐国产精品| 丝袜亚洲另类欧美重口| 日韩中文字幕免费看| 亚洲免费视频一区二区| 国产一区二区三区久久精品| 国产福利视频一区| 欧美大学生性色视频| 国产精品入口日韩视频大尺度| 91精品国产综合久久香蕉922| 亚洲美女视频网站| 欧美精品日韩www.p站| 国产精品96久久久久久又黄又硬| 91视频88av| 91av视频导航| 欧美一区视频在线| 国产成人福利网站| 欧美另类老女人| 日韩精品免费视频| 97精品伊人久久久大香线蕉| 一区二区三区动漫| 成人欧美一区二区三区在线| 午夜精品免费视频| 青青草一区二区| 欧美激情精品久久久久久蜜臀| 国产中文字幕91| 成人黄色激情网| 亚洲欧洲第一视频| 欧洲亚洲妇女av| 精品久久中文字幕| 社区色欧美激情 | 亚洲欧美制服中文字幕| 精品久久国产精品| 日韩av中文字幕在线| 亚洲精品永久免费| 久久久国产视频| 国产小视频国产精品| 日韩在线一区二区三区免费视频| 色播久久人人爽人人爽人人片视av| 大桥未久av一区二区三区| 欧美贵妇videos办公室| 麻豆国产精品va在线观看不卡| 国产欧美日韩免费看aⅴ视频| 国产一区二区日韩精品欧美精品| 国产精品免费福利| 欧美超级免费视 在线| 九九精品视频在线观看| 欧美大片网站在线观看| 久久网福利资源网站| 26uuu另类亚洲欧美日本老年| 91经典在线视频| 国产精品一区二区三区免费视频| 国产精品日韩一区| 亚洲精品有码在线| 91干在线观看| 国内伊人久久久久久网站视频| 国产一区视频在线播放| 91免费人成网站在线观看18| 亚洲成人激情在线观看| 亚洲香蕉在线观看| 亚洲石原莉奈一区二区在线观看| 亚洲欧美日韩一区二区三区在线| 伊人青青综合网站| 欧美激情网友自拍| 欧美黄色www| 欧美华人在线视频| 久久精品国产综合| 日韩av免费看| 日韩av在线最新| 精品久久久国产精品999| 91精品国产91久久久久久不卡| 最新69国产成人精品视频免费| 国产精品18久久久久久麻辣| 亚洲尤物视频网| 亚洲精品永久免费精品| 91在线观看免费高清完整版在线观看| 97久久伊人激情网| 久久久精品免费视频| 97免费中文视频在线观看| 日韩少妇与小伙激情| 成人午夜小视频| 久热精品在线视频| 亚洲另类图片色| 久久婷婷国产麻豆91天堂| 91av视频在线| 国产精品免费视频xxxx| 91免费看视频.| 久久视频在线直播| 久久人人看视频|