DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 純JavaScript實現的分頁插件實例
純JavaScript實現的分頁插件實例
編輯:關於JavaScript     

本文實例講述了純JavaScript實現的分頁插件。分享給大家供大家參考。具體如下:

//總條數(必填)
var Num=Number(<?php echo $count;?>)
//當前頁(必填)
var index = Number(<?php echo $page;?>);
/* //每頁的條數(可選,默認每頁10條) */
var pageNum=Number(10); 
/* //最大顯示的頁碼的數目(可選,默認顯示5個頁碼,頁碼數目必須大於等於1) */
var maxPageNum=Number(5);
//以下可忽略
//計算得出總頁數
var count = (Num%pageNum)>0?(Num/pageNum+1):(Num/pageNum);
count=Math.floor(count);//取整轉化為數據類型
//顯示的最小頁碼,
var first=1;
//顯示的最大頁碼,首先last<=count;其次last是小於等於count的最大數//last=index+maxPageNum/2;
var last =1;
var decrease=Math.floor(maxPageNum/2);//當前頁向上增加值
var increase=Math.floor(maxPageNum/2);//當前頁向下減少值
if(maxPageNum>=1){
 if(maxPageNum==1){//最多顯示一頁時
  first=index<=count?index:count; 
  last=index<=count?index:count;  
 }else{
   //first要大於零
   first=(index-decrease);
   while(first<=0){
    first++;
   } 
   //first判斷顯示的最後一頁
   if((count-index)<=decrease){
    var diff=count-first;
    while(diff<maxPageNum-1){
     if(first==1){
      break;
     }else{
      --first;
      diff=count-first;
     }
    }
   }
   //last要小於count
   last=(index+increase);
   while(last>=1){
    if(last<=count){
     break;
    }
    last--;
   } 
   //last//判斷顯示的最後一頁與maxPageNum的關系
   last=last>=maxPageNum?last:(maxPageNum>count?count:maxPageNum);
 }
}else{
 alert("至少需要顯示一個頁碼!");
}
var prev = index - 1;//上一頁
var next = index+ 1;//下一頁 
var str = "<tr>";
if(count==0){
 str += "<td>共<a href='#'>0</a>頁</td><td>";
}else if(index>count||index<=0){
 str="<td style='color:blue;' >頁碼超出范圍</td>";
}else if (count > 0) {
 str += "<td>";
 if(first>1){
  str += "  <span style='color:#4169E1;' >...</span>  ";
 }
 var i=1;
 for(i=first;i<=last; i++){
  if(i==index){
   str += "  <a href='#' style='color:#4169E1;' onclick='submit(" + i + ");'>[" + i+ "]</a>  ";
  }else{
   str += "  <a href='#' onclick='submit(" + i + ");'>" + i+ "</a>  ";
  }
 } 
  if(last<count){
   str += "  <span style='font-size:16px;color:#4169E1;' >...</span>  "; 
  }
  str+="</td><td style='font-size: 14px;'>共<a href='#first' style='color:#4169E1;font-size: 16px;' >"+ Num +"</a>條</td>";
  /* if(index!=1){
   str +="<td style='width:60px;font-family: 微軟雅黑;font-size: 14px;' ><a href='#' id='prev' onclick='submit(" + prev+ ");'>上一頁</a></td>"; 
  }
  if(index<count){
   str +="<td style='width:60px;font-family: 微軟雅黑;font-size: 14px;'><a href='#' id='next' onclick='submit("+ next + ");'>下一頁</a></td>";
  }*/
  if(index!=1&&count>1){
   str += "<td style='width:40px;font-family: 微軟雅黑;font-size: 14px;white-space: nowrap;'>  <a href='#' id='first' name='first' onclick='submit(1);'>首頁</a>  </td>";
  }
  if(index!=count&&count>1&&index<count){
   str += "<td style='width:40px;font-family: 微軟雅黑;font-size: 14px;white-space: nowrap;'>  <a href='#' onclick='submit(" + count+ ");'>尾頁</a>  </td>" ;
  } 
   str+="</tr>";
}
//分頁區域填寫
$('.page').html(str);
<table class="page">
<tr><td>此處分頁只需要傳遞給我當前頁碼和總頁數即可</td></tr>
</table>
//根據頁碼查詢,
function submit(pageIndex) {
 //var sortInfo = $.getUrlParam('sortInfo');//判斷是哪一個頁面的查詢
 var url = "<?php echo current_url();?>?page="+pageIndex+"&field=<?php echo$field;?>&value=<?php echo $field_value;?>";
 window.location.href=url;
}

希望本文所述對大家的javascript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved