純JavaScript分頁插件

fdpg 9年前發布 | 1K 次閱讀 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 += "&nbsp;&nbsp;<span  style='color:#4169E1;' >...</span>&nbsp;&nbsp;";
    }
    var i=1;
    for(i=first;i<=last; i++){
        if(i==index){
            str += "&nbsp;&nbsp;<a href='#'  style='color:#4169E1;' onclick='submit(" + i + ");'>[" + i+ "]</a>&nbsp;&nbsp;";
        }else{
            str += "&nbsp;&nbsp;<a href='#'  onclick='submit(" + i + ");'>" + i+ "</a>&nbsp;&nbsp;";
        }
    } 
        if(last<count){
            str += "&nbsp;&nbsp;<span  style='font-size:16px;color:#4169E1;' >...</span>&nbsp;&nbsp;"; 
        }

        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;'>&nbsp;&nbsp;<a href='#' id='first' name='first' onclick='submit(1);'>首頁</a>&nbsp;&nbsp;</td>";
        }
        if(index!=count&&count>1&&index<count){
            str += "<td style='width:40px;font-family: 微軟雅黑;font-size: 14px;white-space: nowrap;'>&nbsp;&nbsp;<a href='#' onclick='submit(" + count+ ");'>尾頁</a>&nbsp;&nbsp;</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; }

</pre>

 本文由用戶 fdpg 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!