纯JavaScript实现的分页插件实例


Posted in Javascript onJuly 14, 2015

本文实例讲述了纯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程序设计有所帮助。

Javascript 相关文章推荐
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
javascript组合使用构造函数模式和原型模式实例
Jun 04 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
Apr 01 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
node全局变量__dirname与__filename的区别
Jan 14 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
Apr 10 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
javascript实现网页字符定位的方法
Jul 14 #Javascript
JavaScript取得WEB安全颜色列表的方法
Jul 14 #Javascript
jquery获得当前html页面源码的方法
Jul 14 #Javascript
javascript实现动态表头及表列的展现方法
Jul 14 #Javascript
浅谈JSON.parse()和JSON.stringify()
Jul 14 #Javascript
常用jQuery代码分享
Jul 14 #Javascript
jQuery插件datalist实现很好看的input下拉列表
Jul 14 #Javascript
You might like
调频问题解答
2021/03/01 无线电
PHP新手上路(十一)
2006/10/09 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
详解js创建对象的几种方法及继承
2019/04/12 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
简述数据库的设计过程
2015/06/22 面试题
初三学生语文考试作弊检讨书
2014/12/14 职场文书
工人先进事迹材料
2014/12/26 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
心术观后感
2015/06/11 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书