用pageGroup.js实现分页功能
1.html页面中
引入
<link rel="stylesheet" type="text/css" href="/stylesheets/pageGroup.css">
<script src="/javascripts/web/pageGroup.js" type="text/javascript"></script>
<div id="pageGro" class="cb">
{{if maxPage>}}//总页数
<div class="pageUp">上一页</div>
<div class="pageList">
<ul>
</ul>
</div>
<div class="pageDown">下一页</div>{{/if}}
<div id="countPage" style="display:none">{{maxPage}}</div>//总页数
<div id="nowPage" style="display:none">{{page}}</div>//当前页
<div id="title" style="display:none">{{title}}</div>//标题
</div>
2.pageGroup.css
/* CSS Document */
/*分页*/
#pageGro{ width:400px; height:25px; margin:0px auto; padding-top:30px;}
#pageGro div,#pageGro div ul li{ font-size:12px; color:#; line-height:23px; float:left; margin-left:5px;}
#pageGro div ul li{ width:22px; text-align:center; border:1px solid #; cursor:pointer;}
#pageGro div ul li.on{ color:#fff; background:#3c90d9; border:1px solid #3c90d9;}
#pageGro .pageUp,#pageGro .pageDown{ width:63px; border:1px solid #; cursor:pointer;}
#pageGro .pageUp{ text-indent:23px; background:url(/images/pageUp.png) 5px 7px no-repeat;}
#pageGro .pageDown{ text-indent:5px; background:url(/images/pageDown.png) 46px 6px no-repeat;}
3.pageGroup.js
// JavaScript Document
$(function(){
//根据总页数判断,如果小于5页,则显示所有页数,如果大于5页,则显示5页。根据当前点击的页数生成
var maxPage=jQuery("#countPage").text();
var nowPage=jQuery("#nowPage").text();
var index=parseInt(nowPage);//当前页
var title=jQuery("#title").text();
var pageCount =parseInt(maxPage) ;//模拟后台总页数
//生成分页按钮
if(pageCount>){
page_icon(,,);
pageGroup(index,pageCount);
}else{
//alert("66");
page_icon(,pageCount,);
pageGroup(index,pageCount);
} //点击分页按钮触发
$("#pageGro li").live("click",function(){
if(pageCount > ){
var pageNum = parseInt($(this).html());//获取当前页数
window.location.href = "/article/search/"+title+"/"+pageNum;
pageGroup(pageNum,pageCount);
}else{
var indexpage=jQuery(this).text();
window.location.href = "/article/search/"+title+"/"+indexpage;
$(this).addClass("on");
$(this).siblings("li").removeClass("on");
}
}); //点击上一页触发
$("#pageGro .pageUp").click(function(){
if(pageCount > ){
if(index>){
window.location.href = "/article/search/"+title+"/"+(index-);
}
}else{
if(index > ){
window.location.href = "/article/search/"+title+"/"+(index-);
$("#pageGro li").removeClass("on");//清除所有选中
}
}
}); //点击下一页触发
$("#pageGro .pageDown").click(function(){
if(pageCount > ){
if(nowPage<pageCount){
window.location.href = "/article/search/"+title+"/"+(index+);
}
}else{
if(index< pageCount){
window.location.href = "/article/search/"+title+"/"+(index+);
$("#pageGro li").removeClass("on");//清除所有选中
}
}
});
}); //点击跳转页面
function pageGroup(pageNum,pageCount){
if(pageCount>){
switch(pageNum){
case :
page_icon(,,);
break;
case :
page_icon(,,);
break;
case pageCount-:
page_icon(pageCount-,pageCount,);
break;
case pageCount:
page_icon(pageCount-,pageCount,);
break;
default:
page_icon(pageNum-,pageNum+,);
break;
}
}
if(pageCount<){
switch(pageNum){
case :
page_icon(,pageCount,);
break;
case :
page_icon(,pageCount,);
break;
case pageCount-:
page_icon(,pageCount,);
break;
case pageCount:
page_icon(,pageCount,);
break;
}
}
if(pageCount==){
switch(pageNum){
case :
page_icon(,pageCount,);
break;
case :
page_icon(,pageCount,);
break;
case pageCount-:
page_icon(,pageCount,);
break;
case pageCount:
page_icon(,pageCount,);
break;
default:
page_icon(,pageNum+,);
break;
}
}
} //根据当前选中页生成页面点击按钮
function page_icon(page,count,eq){
var ul_html = "";
for(var i=page; i<=count; i++){
ul_html += "<li>"+i+"</li>";
}
$("#pageGro ul").html(ul_html);
$("#pageGro ul li").eq(eq).addClass("on");
} //上一页
function pageUp(pageNum,pageCount){
switch(pageNum){
case :
break;
case :
page_icon(,,);
break;
case pageCount-:
page_icon(pageCount-,pageCount,);
break;
case pageCount:
page_icon(pageCount-,pageCount,);
break;
default:
page_icon(pageNum-,pageNum+,);
break;
}
} //下一页
function pageDown(pageNum,pageCount){
switch(pageNum){
case :
page_icon(,,);
break;
case :
page_icon(,,);
break;
case pageCount-:
page_icon(pageCount-,pageCount,);
break;
case pageCount:
break;
default:
page_icon(pageNum-,pageNum+,);
break;
}
}
用pageGroup.js实现分页功能的更多相关文章
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 原生js实现分页功能
原生就是实现分页功能 代码如下: var pagination = function(option,fun){ this.parentId = option.id; //容器 this.pageSiz ...
- jsp、js分页功能的简单总结
一.概述 首先,我们要明确为何需要分页技术,主要原因有以下: 1.分页可以提高客户体验度,适当地选择合适的数据条数,让页面显得更有条理,使得用户体验感良好,避免过多数据的冗余. 2.提高性能的需要.分 ...
- 简单封装分页功能pageView.js
分页是一个很简单,通用的功能.作为一个有经验的前端开发人员,有义务把代码中类似这样公共的基础性的东西抽象出来,一来是改善代码的整体质量,更重要的是为了将来做类似的功能或者类似的项目,能减少不必要的重复 ...
- 自己封装的JS分页功能[用于搭配后台使用]
* 2016.7.03 修复bug,优化代码逻辑 * 2016.5.25 修复如果找不到目标对象的错误抛出. * 2016.5.11 修复当实际页数(pageNumber)小于生成的页码间隔数时的bu ...
- [Ext JS 4] Grid 实战之分页功能
前言 分页功能的实现有两种途径: 一种是服务端分页方式, 也就是web客户端传递页码参数给服务端,服务端根据页面参数返回指定条数的数据.也就是要多少取多少.这种方式比较适合Grid 的数据量很大,需 ...
- js -- 分页功能
html 代码 <html> <head> <meta charset='utf-8'> <script type="text/javascript ...
- js分页功能实现
实现一个js的分页并在弹出框中显示 1.分页插件使用:bootstarp-paginator.js,需要先引入bootstarp.js和jquery.js等: !function($){"u ...
- 【jQuery 分页】jQuery分页功能的实现
自写的jQuery实现分页功能的分页组件: 功能效果如下: 分页组件就是上图中的三部分, 分别放在表格上部 和下部 . 其中, 1>>>页面的代码如下: product.jsp 其 ...
随机推荐
- mvn使用笔记
mvn命令格式: You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:< ...
- 安装Python算法库
安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...
- Android事件分发小结
******** ******** 第一部分: 介绍说明 ******** ******** 个人感觉在做交互的时候, 对于Android的按键分发的理解还是比较重要的. 这些内容在 ...
- 最长下降子序列O(n^2)及O(n*log(n))解法
求最长下降子序列和LIS基本思路是完全一样的,都是很经典的DP题目. 问题大都类似于 有一个序列 a1,a2,a3...ak..an,求其最长下降子序列(或者求其最长不下降子序列)的长度. 以最长下降 ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- .Net程序员之不学Java做安卓开发:奇怪的Java语法
1.final关键字:用以修饰类时,表示类不可以被继承,指向基本数据类型或者引用类型时,该类只可以在声明的时候初始化 2.@Override 类似C# 中override关键字,表示对父类的重写.网上 ...
- Centos 6.5 搭建l2tp 服务端和客户端
废话不多说直接上步骤. server #epel仓库愿安装 rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release- ...
- 为什么要重写hashcode() 方法
Java中的集合(Collection)有两类,一类是List,再有一类是Set. 前者集合内的元素是有序的,元素可以重复:后者元素无序,但元素不可重复. 那么我们怎么判断两个元素是否重复呢? 这就是 ...
- PreparedStatement的应用
package it.cast.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql ...
- 基于ajax与msmq技术的消息推送功能实现
周末在家捣鼓了一下消息推送的简单例子,其实也没什么技术含量,欢迎大伙拍砖.我设计的这个推送demo是基于ajax长轮询+msmq消息队列来实现的,具体交互过程如下图: 先说说这个ajax长轮询,多长时 ...