纯JavaScript实现的分页插件实例

作者:Oo-Space 时间:2024-06-09 12:08:26 

本文实例讲述了纯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;
}

希望本文所述对大家的javascript程序设计有所帮助。

标签:JavaScript,分页,插件
0
投稿

猜你喜欢

  • 使用Python画出小人发射爱心的代码

    2022-08-07 01:52:16
  • 程序开发中的几个请不要相信

    2022-08-13 13:04:24
  • Vue3 计算属性的用法详解

    2024-04-28 09:20:33
  • ADO.NET实现对SQL Server数据库的增删改查示例

    2024-01-12 17:37:54
  • Python基于pandas爬取网页表格数据

    2023-03-13 07:30:32
  • python sys模块使用方法介绍

    2021-02-03 09:19:16
  • mysql存储过程原理与使用方法详解

    2024-01-25 10:20:05
  • 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享

    2024-01-16 17:28:39
  • Javascript实现通过选择周数显示开始日和结束日的实现代码

    2023-08-23 13:44:52
  • PHP合并两个或多个数组的方法

    2023-06-11 12:06:28
  • 如何安装绿色版MySQL Community Server 5.7.16并实现远程登录

    2024-01-14 13:02:03
  • Python爬虫框架Scrapy基本用法入门教程

    2021-08-17 19:50:45
  • 使用NetBox 编译 asp 为exe应用程序

    2009-11-29 16:13:00
  • css学习笔记:安全字体

    2009-03-10 18:34:00
  • Python字符串、整数、和浮点型数相互转换实例

    2023-09-20 18:05:52
  • 数据库新手入门之MYSQL出错代码列表

    2008-12-23 15:22:00
  • win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程

    2021-07-25 09:43:52
  • python实现本地批量ping多个IP的方法示例

    2023-12-19 02:36:36
  • 解决python 未发现数据源名称并且未指定默认驱动程序的问题

    2022-07-18 14:34:48
  • python计算最小优先级队列代码分享

    2022-12-05 03:26:50
  • asp之家 网络编程 m.aspxhome.com