<!DOCTYPE html>
<html>
<head>
<title>分页</title>
<link rel="stylesheet" type="text/css" href="./css/page.css"></style>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/index.js"></script>
</head>
<body>
<div class="">
<div class="container" id="container" style="min-width:400px;min-height: 600px;">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
// 创建一个分页的实例对象,利用对象中的方法进行分页
var pageone = new PageInit('qA','../test3.json');
var pageInit = pageone.createPage(); $('#container').html(pageInit);
pageone.init('../test3.json');
pageone.operator();
})
</script>
</body>
</html>

  

index.js文件内容
// 本例仅仅实现了页面跳转向后台传递数据,后台根据具体参数返回数据我们显示在页面上
function PageInit(className,url){
var publicVar={} ;
var tempClassName = className;
var tempUrl = url;
var totalItem;
publicVar.init = function(tempUrl){
var parInit = {
'page':1,
'pagesize':10
}
this.reloadReplies(parInit);
}
publicVar.createPage = function(){
var html = `
<div class=${tempClassName}>
<div class="data-area"></div>
<div class="center">
<table class="pageinitial" >
<tr>
<td>
<select name="pageItemNum" class ="rows" >
<option value="10">10</option>
<option value="15">15</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
</td>
<td class="division"> | </td>
<td>
<a href="javascript:void(0)" class="page-first">
 
</a>
</td>
<td>
<a href="javascript:void(0)" class="page-prev">
 
</a>
</td>
<td class="division"> | </td>
<td>
page  <input class="page" value="1" style="width:30px;display:inline-block;text-align:center" readonly/>
</td>
<td>
  of  <span class="page-total"></span>
</td>
<td class="division"> | </td>
<td>
<a class="page-next" href="javascript:void(0)">
 
</a>
</td>
<td>
<a href="javascript:void(0)" class="page-last">
 
</a>
</td>
</tr>
</table>
</div>
</div>`
return html;
};
// 绑定标签的点击函数
publicVar.operator = function(tempUrl){
var _self = this;
$('.'+tempClassName+' .page-first').click(function(e){
e.preventDefault();
pageParams = _self.curPage(tempClassName);
if(pageParams.page==maxPage){
$('.'+tempClassName+' .page-next').removeClass('page-disable');
$('.'+tempClassName+' .page-last').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-next');
_self.aAbled('.'+tempClassName+' .page-last'); }
if(pageParams.page>1) {
pageParams.page = 1;
$('.'+tempClassName+' .page').val(pageParams.page);
$('.'+tempClassName+' .page-total').html(maxPage);
$('.'+tempClassName+' .page-prev').addClass('page-disable');
$('.'+tempClassName+' .page-first').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-prev');
_self.aDisabled('.'+tempClassName+' .page-first');
_self.pagefresh(pageParams,tempUrl);
}
});
$('.'+tempClassName+' .page-prev').click(function(e){
e.preventDefault();
pageParams = _self.curPage(tempClassName);
maxPage = Math.ceil(totalItem/pageParams.pagesize);
if(pageParams.page==maxPage){
$('.'+tempClassName+' .page-next').removeClass('page-disable');
$('.'+tempClassName+' .page-last').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-next');
_self.aAbled('.'+tempClassName+' .page-last');
}
if(pageParams.page>1){
pageParams.page = pageParams.page-1;
if(pageParams.page==1){
$('.'+tempClassName+' .page-prev').addClass('page-disable');
$('.'+tempClassName+' .page-first').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-prev');
_self.aDisabled('.'+tempClassName+' .page-first');
}
$('.'+tempClassName+' .page').val(pageParams.page);
$('.'+tempClassName+' .page-total').html(maxPage);
_self.pagefresh(pageParams,tempUrl);
}
});
$('.'+tempClassName+' .page-next').click(function(e){
e.preventDefault();
pageParams = _self.curPage(tempClassName);
maxPage = Math.ceil(totalItem/pageParams.pagesize);
if(pageParams.page==1){
$('.'+tempClassName+' .page-prev').removeClass('page-disable');
$('.'+tempClassName+' .page-first').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-prev');
_self.aAbled('.'+tempClassName+' .page-first');
}
if(pageParams.page<maxPage){
pageParams.page = pageParams.page-1+2;
if(pageParams.page==maxPage){
$('.'+tempClassName+' .page-next').addClass('page-disable');
$('.'+tempClassName+' .page-last').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-next');
_self.aDisabled('.'+tempClassName+' .page-last');
}
$('.'+tempClassName+' .page').val(pageParams.page);
$('.'+tempClassName+' .page-total').html(maxPage);
_self.pagefresh(pageParams,tempUrl);
}
});
$('.'+tempClassName+' .page-last').click(function(e){
e.preventDefault();
pageParams = _self.curPage(tempClassName);
maxPage = Math.ceil(totalItem/pageParams.pagesize);
if(pageParams.page==1){
$('.'+tempClassName+' .page-prev').removeClass('page-disable');
$('.'+tempClassName+' .page-first').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-prev');
_self.aAbled('.'+tempClassName+' .page-first');
}
if(pageParams.page<maxPage){
maxPage = Math.ceil(totalItem/pageParams.pagesize);
pageParams.page = maxPage;
$('.'+tempClassName+' .page').val(maxPage);
$('.'+tempClassName+' .page-total').html(maxPage);
$('.'+tempClassName+' .page-next').addClass('page-disable');
$('.'+tempClassName+' .page-last').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-next');
_self.aDisabled('.'+tempClassName+' .page-last');
_self.pagefresh(pageParams,tempUrl);
}
});
$('.'+tempClassName+' .rows').change(function(e){
pageParams = _self.curPage(tempClassName);
maxPage = Math.ceil(totalItem/pageParams.pagesize);
$('.'+tempClassName+' .page-total').html(maxPage);
$('.'+tempClassName+' .page').val('1');
pageParams.page = $('.'+tempClassName+' .page').val();
$('.'+tempClassName+' .page-prev').addClass('page-disable');
$('.'+tempClassName+' .page-first').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-prev');
_self.aDisabled('.'+tempClassName+' .page-first');
if(maxPage==1){
$('.'+tempClassName+' .page-next').addClass('page-disable');
$('.'+tempClassName+' .page-last').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-next');
_self.aDisabled('.'+tempClassName+' .page-last');
}else{
$('.'+tempClassName+' .page-next').removeClass('page-disable');
$('.'+tempClassName+' .page-last').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-next');
_self.aAbled('.'+tempClassName+' .page-last');
}
_self.pagefresh(pageParams,tempUrl);
});
};
// 设置标签是否可以进行点击
publicVar.aDisabled = function(tempClassName) {
$(tempClassName).attr('disabled', true);
$(tempClassName).css('pointer-events', 'none');
};
publicVar.aAbled = function(tempClassName) {
$(tempClassName).attr('disabled', false);
$(tempClassName).css('pointer-events', 'auto');
};
// 获取当前页面信息页码页数和itemID
publicVar.curPage = function (tempClassName){
var rtn ={};
rtn.pagesize = $('.'+tempClassName+' .rows').val();
rtn.page = $('.'+tempClassName+' .page').val();
return rtn;
};
// 得到参数后刷新,可以根据不同的tempClassName来局部刷新不同的列表
publicVar.pagefresh = function (params,tempUrl){
this.reloadReplies(params,tempUrl);
};
publicVar.reloadReplies = function(pars){
_self = this;
var htmlItem ='';
var lenItem = '';
$.ajax({
url:tempUrl,
params:pars,
async: false,
success:function(data){
totalItem = data.total;
if(totalItem==0){
maxPageItem = 1;
}else{
maxPageItem = Math.ceil(totalItem/pars.pagesize);
}
if(pars.page==1){
$('.'+tempClassName+' .page-prev').addClass('page-disable');
$('.'+tempClassName+' .page-first').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-prev');
_self.aDisabled('.'+tempClassName+' .page-first');
}
if(pars.page==maxPageItem){
$('.'+tempClassName+' .page-next').addClass('page-disable');
$('.'+tempClassName+' .page-last').addClass('page-disable');
_self.aDisabled('.'+tempClassName+' .page-next');
_self.aDisabled('.'+tempClassName+' .page-last');
}else{
$('.'+tempClassName+' .page-next').removeClass('page-disable');
$('.'+tempClassName+' .page-last').removeClass('page-disable');
_self.aAbled('.'+tempClassName+' .page-next');
_self.aAbled('.'+tempClassName+' .page-last');
}
$('.'+tempClassName+' .page-total').html(maxPageItem);
$('.'+tempClassName+' .page').val(pars.page);
lenItem = data.List.length;
if(lenItem>0){
// data.rows.postReplys = convertTime(data.rows.postReplys);
htmlItem = _self.fn(data.List); }
$('.'+tempClassName+' .data-area').html(htmlItem);
}
});
};
// publicVar.createListItem = function(){ // }
publicVar.fn = function(item){
var html='';
for(var i=0;i<item.length;i++){
html+= '\
<div class="reply-item">\
<div class="user-portrait">\
<div class="portrait"><img src='+item[i].headIcon+'></div>\
</div>\
<div class="reply-detail">\
<div class="reply-user">'+item[i].Name+'</div>\
<div class="reply-content">'+item[i].reply_content+'</div>\
<div class="reply-last">\
<div class="reply-time">'+item[i].reply_time+'</div>\
<div class="reply-delete"><div style="color: #0011ff;width:50px;cursor:pointer" onclick="openDeleteReplyDialog()">delete</div></div>\
</div>\
</div>\
</div>\
'
}
return html;
}
return publicVar;
}   
 
 
 
 
 

jquery 页面分页的实现的更多相关文章

  1. 转:精心挑选的12款优秀 jQuery Ajax 分页插件和教程

    在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的  ...

  2. SpringMVC -jquery实现分页

    效果图: 关键类的代码: package:utils: SpringUtil.java 通过jdbcTemplate连接oracle数据库 package com.utils; import org. ...

  3. 12款优秀 jQuery Ajax 分页插件和教程

    12款优秀 jQuery Ajax 分页插件和教程 在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 W ...

  4. jquery动态分页

    最近一直研究jquery的分页效果,刚刚弄好了一个,拿出来与大家分享.分页效果与时光网的差不多. 网址:http://www.mtime.com/movie/news/all/ 先在aspx页面放置一 ...

  5. jQuery Pagination分页插件--刷新

    源码地址:https://github.com/SeaLee02/FunctionModule/blob/master/UploadFiles/WebDemo/FenYE/FenYeDemo.aspx ...

  6. Jquery前端分页插件pagination同步加载和异步加载

    上一篇文章介绍了Jquery前端分页插件pagination的基本使用方法和使用案例,大致原理就是一次性加载所有的数据再分页.https://www.jianshu.com/p/a1b8b1db025 ...

  7. jQuery页面加载初始化的3种方法

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...

  8. js jquery 页面加载初始化方法

    js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...

  9. jQuery页面滚动监听事件及高级效果插件

    jQuery页面滚动监听事件及高级效果插件 1. One Page scroll (只适用于上下焦点图)http://www.thepetedesign.com/demos/onepage_scrol ...

随机推荐

  1. 003-JSR303校验

    一.JSR303校验 1.1.概述 JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator. 此实现与 Hi ...

  2. GOROOT、GOPATH、GOBIN

    GOROOT golang安装路径. GOPATH GOPATH可以设置多个工程目录,linux下用冒号分隔(必须用冒号,fish shell的空格分割会出错),windows下用分号分隔,但是go ...

  3. 继承:继承后子类构造函数具有隐式super,所以子类中所以的构造函数默认会访问父类中的空参数的构造函数

    class Test { Test(){ System.out.println("Test"); } Test(String name){ System.out.println(& ...

  4. 10.110.20.16上的MQTT server

    apollo 10.110.20.16    root    XnlzeNP2 /var/lib/apache-apollo-1.7.1 1  创建broker 进入 bin  创建 broker  ...

  5. Struct2中自定义的Filter无效

    解决办法,把自定义的Filter配置放在struct2前 <?xml version="1.0" encoding="UTF-8"?> <we ...

  6. 动手动脑(&课后实验):生成随机数,函数的重载

    一.编写一个方法,使用纯随机数生成算法生成指定数目(比如1000个)的随机整数. 1.程序源代码 import java.util.Scanner; import java.util.Random; ...

  7. .NET拾忆:反射的本质——元数据

    反射主要使用的命名空间: System.Reflection System.Type System.Reflection.Assembly 本质:元数据 反射的本质其实是使用元数据:元数据其实就是程序 ...

  8. 原型链(_proto_) 与原型(prototype) 有啥关系?

    prototype对象里面方法及属性是共享的...... 1.JavaScript 中每一个对象都拥有原型链(__proto__)指向其构造函数的原型( prototype),object._prot ...

  9. 简易C# socket

    服务器 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Thread ...

  10. UGUI 打图集

    using UnityEngine; using System.Collections; using UnityEditor; using System.Collections.Generic; us ...