纯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 相关文章推荐
javascript语言结构小记(一)
Sep 10 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
jQuery+formdata实现上传进度特效遇到的问题
Feb 24 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
Jan 27 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js字符编码函数区别分析
2008/06/05 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
Exjs 入门篇
2010/04/07 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
深入学习JavaScript 高阶函数
2019/06/11 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
使用python实现baidu hi自动登录的代码
2013/02/10 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
Python的条件锁与事件共享详解
2019/09/12 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
庆祝国庆节演讲稿2014
2014/09/19 职场文书
学生检讨书范文
2014/10/30 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
Win11快速关闭所有广告推荐
2022/04/19 数码科技
Nginx 常用配置
2022/05/15 Servers