参考:http://www.jb51.net/article/117191.htm 侵删

css 部分

@charset "utf=8";
*{
box-sizing: border-box;
padding: 0;
margin: 0;
}
.page{
font-size: 13px;
text-align: center;
margin-top: 20px;
}
.page .page_to{
display: inline-block;
max-width: 250px;
}
.page .page_to li{
display: inline-block;
width: auto;
height: auto;
border: 1px solid #ddd;
padding:5px 10px;
border-left-width: 0;
color: #323232;
cursor: pointer;
}
.page .page_to li.page_hide{
display: none;
}
.page .page_to li:hover{
color: #32C2CD;
background-color: #f4f4f4;
border-color: #DDDDDD;
}
.page .page_to li:first-child{
border-left-width: 1px;
}
.page .page_jump{
display: inline-block;
width: 180px;
}
.page .page_jump input.page_jump_input{
width: 52px;
height: 28px;
text-align: center;
text-decoration: none;
background-color: #fff;
border: 1px solid #ddd;
margin:0 4px;
}
.page .page_jump input.page_jump_btn{
display: inline-block;
padding: 2px 10px;
margin-left: 5px;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
/*vertical-align: middle;*/
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
border-radius: 4px;
background-color: #32c5d2;
color: #FFFFFF;
font-weight: bold;
}

js 部分

(function($, window, undefined) {

    var curPage = '',
//跳转是否有值
jumpVal = '',
//从DOM中重新获取数据总数/总页数
lists = '',
totals = '',
//是否返回值
isTrue = false; var Page = function(opts) {
this.settings = $.extend({}, Page.defaults, opts);
curPage = this.settings.initPage;
totals = this.settings.totalPages;
jumpVal = this.settings.inputVal;
this.init();
}; //默认配置
Page.defaults = {
container: '.page',
setPos: 'body',
totalPages: null,
totalLists: null,
initPage: 1,
inputVal: 1,
callBack: null
}; Page.prototype = {
init: function() {
this.create();
},
create: function() {
var _template = '<div class="page">' +
'<span class="page_details">' +
'共<span class="page_num">' + this.settings.totalLists + '</span>条记录,' +
'第<span class="page_current">' + curPage + '</span>/' +
'<span class="page_size">' + this.settings.totalPages + '</span>页' +
'</span>' +
'<div class="page_to">' +
'<ul class="flex_parent">' +
'<li class="page_first flex_child">首页</li>' +
'<li class="page_pre page_hide flex_child">« 上一页</li>' +
'<li class="page_next flex_child">下一页 »</li>' +
'<li class="page_last flex_child">末页</li>' +
'</ul>' +
'</div>' +
'<div class="page_jump">' +
'<span>第:<input type="number" class="page_jump_input" value="' + this.settings.inputVal + '">页</span>' +
'<input type="button" class="page_jump_btn" value="Go">' +
'</div>' +
'</div>';
$(this.settings.setPos).append(_template);
this.refreshDom();
this.bindEvent();
},
bindEvent: function() {
var _this = this;
//跳转首页
$(this.settings.container).on("click", ".page_first", function() { lists = $(_this.settings.container).find(".page_num").text();
totals = $(_this.settings.container).find(".page_size").text(); if ($.isFunction(_this.settings.callBack)) {
curPage = 1;
isTrue = _this.settings.callBack(1);
if (isTrue) {
_this.refreshDom();
$(_this.settings.container).find(".page_current").text(1);
$(_this.settings.container).find(".page_jump_input").val(curPage);
}
}
});
//跳转上一页
$(this.settings.container).on("click", ".page_pre", function() { lists = $(_this.settings.container).find(".page_num").text();
totals = $(_this.settings.container).find(".page_size").text(); if ($.isFunction(_this.settings.callBack)) {
if (curPage > 1) {
curPage = curPage - 1;
isTrue = _this.settings.callBack(curPage);
if (isTrue) {
_this.refreshDom();
$(_this.settings.container).find(".page_current").text(curPage);
$(_this.settings.container).find(".page_jump_input").val(curPage);
}
}
}
});
//跳转下一页
$(this.settings.container).on("click", ".page_next", function() {
lists = $(_this.settings.container).find(".page_num").text();
totals = $(_this.settings.container).find(".page_size").text();
if ($.isFunction(_this.settings.callBack)) {
if (curPage < totals) {
curPage = curPage + 1;
isTrue = _this.settings.callBack(curPage);
if (isTrue) {
_this.refreshDom();
$(_this.settings.container).find(".page_current").text(curPage);
$(_this.settings.container).find(".page_jump_input").val(curPage);
}
}
}
});
//跳转末页
$(this.settings.container).on("click", ".page_last", function() { lists = $(_this.settings.container).find(".page_num").text();
totals = $(_this.settings.container).find(".page_size").text(); if ($.isFunction(_this.settings.callBack)) {
curPage = totals;
isTrue = _this.settings.callBack(curPage);
if (isTrue) {
_this.refreshDom();
$(_this.settings.container).find(".page_current").text(totals);
$(_this.settings.container).find(".page_jump_input").val(curPage);
}
}
});
//Go跳转
$(this.settings.container).on("click", ".page_jump_btn", function() {
lists = $(_this.settings.container).find(".page_num").text();
totals = $(_this.settings.container).find(".page_size").text(); if ($.isFunction(_this.settings.callBack)) {
jumpVal = Number($(_this.settings.container).find("input.page_jump_input").val());
// console.log('跳转的页数:' + jumpVal + ';跳转之前的页数:' + curPage);
isTrue = _this.settings.callBack(jumpVal);
if (jumpVal >= 1 && jumpVal <= totals) {
curPage = jumpVal;
// isTrue = _this.settings.callBack(curPage);
if (isTrue) {
_this.refreshDom();
$(_this.settings.container).find(".page_current").text(curPage);
$(_this.settings.container).find(".page_jump_input").val(curPage);
}
} else {
jumpVal = curPage;
}
}
});
},
refreshDom: function() {
$(this.settings.container).find("li.flex_child").removeClass("page_hide");
if (Number(totals) == 1) {
$(this.settings.container).find(".page_pre").addClass("page_hide");
$(this.settings.container).find(".page_next").addClass("page_hide");
} else if (Number(totals) == 2) {
if (Number(curPage) == 1) {
$(this.settings.container).find(".page_pre").addClass("page_hide");
} else {
$(this.settings.container).find(".page_next").addClass("page_hide");
}
} else if (Number(curPage) == 1 && Number(totals) > 2) {
$(this.settings.container).find(".page_pre").addClass("page_hide");
} else if (Number(curPage) == Number(totals) && Number(totals) > 2) {
$(this.settings.container).find(".page_next").addClass("page_hide");
}
}
}; var pageInit = function(opts) {
return new Page(opts);
}; window.pageInit = $.pageInit = pageInit; })(jQuery, window, undefined);

调用

function page(){
$.pageInit({
container: '.page', //容器:默认page
setPos: '.pageBox', //放置位置:默认body
totalPages: totalPages, //总页数:必填(后台返回的,加载列表可以取到)
totalLists: totalCount, //数据总数:必填(后台返回的,加载列表可以取到)
initPage: pageNo, //初始页码:默认1(后台会返回,自己也可以定义)
inputVal: 1, //设置跳转的input值:默认1
//要执行的函数:默认null,必须为fn且返回true则可执行分页,false则不执行
callBack: function(n) {
var flag = true;
       console.log(n);
getCustomerList(n); //getCustomerList 是加载列表的方法;n 为返回的页码数,
return flag;
}
});
};

js 分页插件(jQuery)的更多相关文章

  1. jQuery分页插件(jquery.page.js)的使用

    效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQuery.page.js用法很简单,效果很棒   1.前端   首先html的head中引入相关css与js <lin ...

  2. Jquery 分页插件 Jquery Pagination

    Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也 ...

  3. Bootstrap的js分页插件属性介绍

    Bootstrap Paginator是一款基于Bootstrap的js分页插件,功能很丰富,个人觉得这款插件已经无可挑剔了.它提供了一系列的参数用来支持用户的定 制,提供了公共的方法可随时获得插件状 ...

  4. 一款基于Bootstrap的js分页插件bootstrap-paginator使用实例

    Bootstrap Paginator是一款基于Bootstrap的js分页插件,功能很丰富.它提供了一系列的参数用来支持用户的定制,提供了公共的方法可随时获得插件状态的改变,以及事件来监听用户的动作 ...

  5. Jquery.Page.js 分页插件的使用

    1.简单直接贴代码 需要引用以下样式和脚本 <link href="~/Scripts/Page/pager.css" rel="stylesheet" ...

  6. 分页插件jquery.simplePagination.js使用

    利用ecshop后台,利用插件更改分页显示样式遇到的问题,由于是利用Ajax获取数据进行页面数据更新?所以出现了以下情况: 初始化页面前 : 分页更新后: 点击后出现了分页插件内容消失, 原因:分页一 ...

  7. JQuery.Page.js分页插件的使用

    1.简单直接贴代码 需要引用以下样式和脚本 <link href="~/Scripts/Page/pager.css" rel="stylesheet" ...

  8. 分页插件 jquery.pagination.js

    引用 <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script> <lin ...

  9. 分享一个Jquery 分页插件 Jquery Pagination

    分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也挺简单明了的,也助于自己写个小插件. 不过我比较懒,一般直接 ...

随机推荐

  1. 通过代码定义shape/selector

    public class DrawableUtil { /** * 定义一个shape资源 * * @param rgb * @param corneradius * @return */ publi ...

  2. MySQL 优化实战记录

    阅读本文大概需要 2 分钟. 背景 本次SQL优化是针对javaweb中的表格查询做的. 部分网络架构图 业务简单说明 N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库.服务器中 ...

  3. rem计算

    //jquery实现 // $(function(){ // $(window).on("resize",function(){ // var width=$(window).wi ...

  4. Numpy学习三:数组运算

    1.转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np ...

  5. springboot打jar包,调用webservice出错

    错误提示 Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC 在idea中没有问题,但是打成 ...

  6. SPA架构的优点和缺点以及一些思考

    SPA是什么? 全称是单页面应用. 一个SPA就是一个WEB应用,它所需的资源(HTML CSS JS等),在一次请求中就加载完成,也就是不需刷新地动态加载. 用术语“单页”就是因为页面在初始化加载后 ...

  7. 签名时出错: 未在路径 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin

    在运行winform程序时,由于清理解决方案等缘故,出现了下面的情况 解决办法:项目-属性-签名-取消勾选“为ClickOne清单签名” 问题完美解决

  8. WebService学习-第一弹

    一:WebService简介(1)简介----百度百科(注意标识的重点) Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言 ...

  9. murri

    github: https://github.com/haltu/muuri 官网:https://haltu.github.io/muuri/   安装 npm install murri —sav ...

  10. 旅行,说走就走 Help? [C++数据类型和表达式]

    摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 乐天派.我却喜欢和老妈说"老妈小时候喜欢羡慕别人有动力,现在看 ...