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

首頁 > 語言 > JavaScript > 正文

JavaScript實現列表分頁功能特效

2024-05-06 16:20:23
字體:
來源:轉載
供稿:網友

最近在做一個小項目,有時需要制作靜態頁面網站,而一旦涉及到文章的分頁,實現起來非常麻煩,自己又剛入門,對js不是很熟悉,所以就拿來練練手。

最近寫了一個js分頁的方法,盡管已經有現成的可以用,但還是想自己寫寫,搞搞清楚。最終實現的效果是:上一頁、第一頁、…(上n個頁碼)、n個頁碼、…(下n個頁碼)、最后一頁、下一頁。n可以是奇數也可以是偶數,一般都喜歡取奇數,星石調用的時候傳入的參數是5。寫的時候,主要注意了以下幾個地方:

頁碼等于1時,只顯示上一頁、第一頁、最后一頁,且都沒有跳轉;

頁碼小于等于2時,不需要中間的n個頁碼;

頁碼小于等于n時,顯示所有頁碼,不顯示2個“…”;

2個“…”換頁時,換n個頁碼,如果接近最前面或最后面幾頁了,則顯示最前面或最后面n個頁碼。

下面貼出代碼,供大家探討:

 

 
  1. //總頁數,當前頁數,跳轉地址,第一頁和最后一頁之間顯示的頁碼數量 
  2. function pageBar(tp,cp,url,pn){ 
  3. var str = ‘<ul class=”page”>'; 
  4. if(tp>1 && cp>1){ 
  5. var prev = cp-1; 
  6. str += ‘<li><a class=”prev” title=”上一頁” href=”javascript:goPage(‘+prev+‘,/”+url+‘/');”><span>上一頁</span></a></li> ‘; 
  7. }else
  8. str += ‘<li><a class=”prev” title=”上一頁” href=”javascript:void(0);”><span>上一頁</span></a></li> ‘; 
  9. if(tp>1){ 
  10. //第一頁 
  11. if(cp==1){ 
  12. str +=‘<li class=”current”><a href=”javascript:goPage(1,/”+url+‘/');”><span>1</span></a></li> ‘; 
  13. }else
  14. str +=‘<li><a href=”javascript:goPage(1,/”+url+‘/');”><span>1</span></a></li> ‘; 
  15.  
  16. if(tp>2){ 
  17. var pnh = Math.floor(pn/2); 
  18.  
  19. //循環開始頁碼 
  20. var s = cp-pnh; 
  21. if(s<=1){ 
  22. s = 2; 
  23.  
  24. //循環結束頁碼 
  25. var e = cp+pnh; 
  26. if(e>=tp){ 
  27. e = tp-1; 
  28.  
  29. if(s<=(1+pnh)){ 
  30. if(tp>(pn+2)){ 
  31. e = s+(pn-1); 
  32. if(e>=tp){ 
  33. e = tp-1; 
  34. }else
  35. s = 2; 
  36.  
  37. if(e>=(tp-pnh)){ 
  38. if(tp>(pn+2)){ 
  39. s = e-(pn-1); 
  40. if(s<=1){ 
  41. s = 2; 
  42. }else
  43. e = tp-1; 
  44.  
  45. if(e<s){ 
  46. e = s; 
  47.  
  48. //第一頁后的多頁跳轉 
  49. if(s>2){ 
  50. var sp = cp-pn; 
  51. if(sp<1){ 
  52. sp=1; 
  53. str += ‘<li><a name=”break” href=”javascript:goPage(‘+sp+‘,/”+url+‘/');”><span>…</span></a></li> ‘; 
  54.  
  55. for(var i=s;i<=e;i++){ 
  56. if(i==cp){ 
  57. str += ‘<li class=”current”><a href=”javascript:goPage(‘+i+‘,/”+url+‘/');”><span>'+i+‘</span></a></li> ‘; 
  58. }else
  59. str += ‘<li><a href=”javascript:goPage(‘+i+‘,/”+url+‘/');”><span>'+i+‘</span></a></li> ‘; 
  60.  
  61. //最后一頁前的多頁跳轉 
  62. if(e < (tp-1)){ 
  63. var ep = cp+pn; 
  64. if(ep>tp){ 
  65. ep=tp; 
  66. str += ‘<li><a name=”break” href=”javascript:goPage(‘+ep+‘,/”+url+‘/');”><span>…</span></a></li> ‘; 
  67.  
  68. //最后一頁 
  69. if(cp==tp){ 
  70. str +=‘<li class=”current”><a href=”javascript:goPage(‘+tp+‘,/”+url+‘/');”><span>'+tp+‘</span></a></li> ‘; 
  71. }else
  72. str +=‘<li><a href=”javascript:goPage(‘+tp+‘,/”+url+‘/');”><span>'+tp+‘</span></a></li> ‘; 
  73.  
  74. }else
  75. str +=‘ <li class=”current”><a href=”javascript:void(0);”><span>1</span></a></li> ‘; 
  76.  
  77. if(tp>1 && cp<tp){ 
  78. var next = cp+1; 
  79. str += ‘<li><a class=”next” title=”下一頁” href=”javascript:goPage(‘+next+‘,/”+url+‘/');”><span>下一頁</span></a></li>'
  80. }else
  81. str += ‘<li><a class=”next” title=”下一頁” href=”javascript:void(0);”><span>下一頁</span></a></li>'; 
  82. str += ‘</ul>'; 
  83. return str; 
  84.  
  85. //跳轉頁碼,跳轉地址 
  86. function goPage(cp,url){ 
  87. window.location.href = url+cp; 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 米脂县| 莆田市| 新巴尔虎右旗| 云龙县| 贡山| 合作市| 昌都县| 连南| 高密市| 三明市| 巢湖市| 柳江县| 青田县| 鱼台县| 二手房| 新化县| 宁远县| 兴山县| 庄河市| 葫芦岛市| 长岭县| 辽源市| 得荣县| 泰宁县| 乌拉特中旗| 广昌县| 平阴县| 定西市| 甘泉县| 兴安盟| 连云港市| 昭平县| 博爱县| 昭平县| 沈阳市| 东兰县| 腾冲县| 承德县| 星子县| 新化县| 安康市|