纯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 相关文章推荐
js二维数组排序的简单示例代码
Jan 24 Javascript
js实现二代身份证号码验证详解
Nov 20 Javascript
jQuery编程中的一些核心方法简介
Aug 14 Javascript
JS实现自动变换的菜单效果代码
Sep 09 Javascript
JS实现仿FLASH效果的竖排导航代码
Sep 15 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
Oct 14 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 Javascript
Angular下H5上传图片的方法(可多张上传)
Jan 09 Javascript
React 组件间的通信示例
Jun 14 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
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
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
python实现八大排序算法(2)
2017/09/14 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Python WSGI的深入理解
2018/08/01 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
python如何实现异步调用函数执行
2019/07/08 Python
django2笔记之路由path语法的实现
2019/07/17 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
通俗讲解python 装饰器
2020/09/07 Python
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
单身联谊活动方案
2014/01/29 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
班委竞选演讲稿
2014/04/28 职场文书
店面出租协议书范本
2014/11/28 职场文书
召开会议通知范文
2015/04/15 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang