1、简单定义下样式

<style type="text/css">
.fanye
{
color: blue;
margin-right: 15px;
text-decoration: none;
}
.unUse
{
color: gray;
}
</style>

2、准备一个Div用来渲染分页按钮

<body>
<h1 id="result">
当前页码:[ 1 ]</h1>
<div id="pager">
</div>
</body>

3、编写分页功能

(function ($) {
$.fn.pager = function (options) {
var defaults = {
pageNum: 1,
pageCount: 1
};
var opts = $.extend(true, defaults, options);
//return this.each(function () {
return $(this).empty().append(renderPager(parseInt(opts.pageNum), parseInt(opts.pageCount), opts.btnCallback));
//});
}; function renderPager(pageNum, pageCount, btnCallback) {
var $pager = $('<div id="pageA"></div>');
$pager.append(renderBtn('首页', pageNum, pageCount, btnCallback)).append(renderBtn('上一页', pageNum, pageCount, btnCallback));
$pager.append(renderBtn('下一页', pageNum, pageCount, btnCallback)).append(renderBtn('尾页', pageNum, pageCount, btnCallback));
//$pager.append('<span></span>');
return $pager;
} function renderBtn(btn, pageNum, pageCount, btnCallback) {
var $Button = $('<a href="javascript:;" class="fanye">' + btn + '</a>');
var currentPage = 1;
switch (btn) {
case "首页":
currentPage = 1;
break;
case "上一页":
currentPage = pageNum - 1;
break;
case "下一页":
currentPage = pageNum + 1;
break;
case "尾页":
currentPage = pageCount;
break;
}
if (btn == "首页" || btn == "上一页") {
pageNum <= 1 ? $Button.addClass("unUse") : $Button.click(function () { btnCallback(currentPage,pageCount); });
}
else {
pageNum >= pageCount ? $Button.addClass("unUse") : $Button.click(function () { btnCallback(currentPage, pageCount); });
}
return $Button;
}
})(jQuery);

4、调用

<script type="text/javascript" language="javascript">

        $(document).ready(function () {
var currentPage = 1;
var pageCount = 10;
pageBtnCallBack(currentPage, pageCount);
}); var pageBtnCallBack = function (currentPage, pageCount) {
$("#pager").pager({
pageNum: currentPage,
pageCount: pageCount,
btnCallback: pageBtnCallBack
});
$("#result").html("当前页码:[ " + currentPage + " ]");
}; </script>

通用分页(Jquery版)的更多相关文章

  1. ReactJS实现的通用分页组件

    大家多少都自己写过各种版本的分页工具条吧,像纯服务版的,纯jsWeb板的,Angular版的,因为这个基础得不能再基础的功能太多地方都会用到,下面我给出以个用ReactJS实现的版本,首先上图看下效果 ...

  2. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  3. 全自动数据表格JQuery版

    由于最近工作上有些变动,已经快一个月没有写博客了.上一篇博客[React]全自动数据表格组件——BodeGrid介绍了全自动数据表格的设计思路以及分享了一个react.js的实现.但是现实情况中为了节 ...

  4. [转载]jquery版小型婚礼(可动态添加祝福语)

    原文链接:http://www.cnblogs.com/tattoo/p/3788019.html 前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我 的百度生涯,一直 ...

  5. PHP通用分页(Pager)类

    三种不同展示方式 附上style~ 1. 效果图1 2.效果图2    3. 效果图3 4. 分页类主体 <?php /** * PHP通用分页类 * show(2) 1 ... 62 63 6 ...

  6. jquery版小型婚礼(可动态添加祝福语)

    前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我的百度生涯,一直寻觅许愿墙背景图片和便利贴图片,觅了好久……一直没找到满意的……无意间看到祝福语和一些卡通婚礼图片.最 ...

  7. SQL Server 2008 通用分页存储过程

    1.alert USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[dbTab_PagerHelper] Script Date: 08/22/ ...

  8. SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)

    SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...

  9. 支持DISTINCT的通用分页存储过程(SQL2005)

    /****** 对象: StoredProcedure [dbo].[P_CommonPagination] 脚本日期: 07/22/2009 10:22:01 ******/ SET ANSI_NU ...

  10. ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页

    一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 ...

随机推荐

  1. java gc --- 关键词解释

    分代gc java的堆内存主要分为young generation与old generation,这两块分开回收.这就是所谓的分代gc 其中young generation又分为一个eden spac ...

  2. MariaDB半同步复制

    1.主从复制原理 MySQL的二进制日志(binglog)会记录所有对数据库进行更改的操作,也就是说只要是会对数据库产生修改的操作都会被记录到二进制日志中去.记录二进制日志的主要目的有两方面:a.恢复 ...

  3. CentOS7安装部署jumpserver0.5

    组件说明 Jumpserver为管理后台,管理员可以通过Web页面进行资产管理.用户管理.资产授权等操作; Coco为SSH Server和Web Terminal Server.用户可以通过使用自己 ...

  4. Java NIO.2 Files类的常用方法

    Files类是一个工具类,提供了大量的静态方法来操作文件.文件夹. Files类常用方法: long size(Path  path)    //返回文件大小 boolean  isDirectory ...

  5. 实现一个Java五子棋

    五子棋手把手教你写: 写在前面的话: 回想起从前初学代码的五子棋简直写的不像样子.今天闲来无事就写了个五子棋的小程序. 一来呢回忆一下很久以前写代码时的感觉. 二来呢顺便帮下诸位有需求的学生,顺利的C ...

  6. Visual Studio开启SSL的支持

    前提: 请确保已经安装了IIS Express 具体操作: 1.web项目->[右键]->[使用IIS Express]转换工程的Web服务器. 2.点击web项目,按[ctrl]+[w] ...

  7. hdu 1541Stars

    题意:定义在某颗星星左下方的星星的个数表示该星星的水平,求出水平分别为为0...n-1的星星个数. 首先题目是按照y坐标升序输入的,设第第1,2...n个星星的横坐标依次为x1,x2,...xn.显然 ...

  8. 【温故知新】——HTML5重要知识点复习

    前言:本文是自己在学习课程中的课程笔记,这里用来温故知新的,并非本人原创. 一.HTML5新特性 —— 十个新特性:凌乱 (1)新的语义标签 (2)增强型表单(表单2.0) (3)音频和视频 (4)C ...

  9. 转: Syslog协议介绍

    转: http://liu-hliang.iteye.com/blog/827392 在网上搜的文章,写的很全乎.摘抄如下,供大家参考学习 1.介绍 在Unix类操作系统上,syslog广泛应用于系统 ...

  10. Scala 中Array,List,Tuple的差别

    尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种 ...