這篇文章主要介紹了純JavaScript實現的分頁插件,涉及javascript結合php動態實現分頁效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了純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程序設計有所幫助。
|
新聞熱點
疑難解答
圖片精選