国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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實現分頁就結束了,有不明白的地方,歡迎提出,交流,共同學習進步,謝謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东港市| 盐边县| 仙游县| 封丘县| 信阳市| 红河县| 井研县| 晋江市| 阿坝| 宁都县| 呈贡县| 新和县| 化德县| 安西县| 同仁县| 靖西县| 江油市| 辉县市| 广平县| 名山县| 柳江县| 吉安市| 定南县| 麻城市| 读书| 浦城县| 平安县| 榆中县| 枣强县| 开鲁县| 万山特区| 兴业县| 洪泽县| 台南市| 疏勒县| 海宁市| 乌兰县| 二手房| 本溪市| 彩票| 上虞市|