jquery 页面分页的实现
- <!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 页面分页的实现的更多相关文章
- 转:精心挑选的12款优秀 jQuery Ajax 分页插件和教程
在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的 ...
- SpringMVC -jquery实现分页
效果图: 关键类的代码: package:utils: SpringUtil.java 通过jdbcTemplate连接oracle数据库 package com.utils; import org. ...
- 12款优秀 jQuery Ajax 分页插件和教程
12款优秀 jQuery Ajax 分页插件和教程 在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 W ...
- jquery动态分页
最近一直研究jquery的分页效果,刚刚弄好了一个,拿出来与大家分享.分页效果与时光网的差不多. 网址:http://www.mtime.com/movie/news/all/ 先在aspx页面放置一 ...
- jQuery Pagination分页插件--刷新
源码地址:https://github.com/SeaLee02/FunctionModule/blob/master/UploadFiles/WebDemo/FenYE/FenYeDemo.aspx ...
- Jquery前端分页插件pagination同步加载和异步加载
上一篇文章介绍了Jquery前端分页插件pagination的基本使用方法和使用案例,大致原理就是一次性加载所有的数据再分页.https://www.jianshu.com/p/a1b8b1db025 ...
- jQuery页面加载初始化的3种方法
jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...
- js jquery 页面加载初始化方法
js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...
- jQuery页面滚动监听事件及高级效果插件
jQuery页面滚动监听事件及高级效果插件 1. One Page scroll (只适用于上下焦点图)http://www.thepetedesign.com/demos/onepage_scrol ...
随机推荐
- PHP做APP接口时,如何保证接口的安全性??????????
PHP做APP接口时,如何保证接口的安全性? 1.当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在sess ...
- Windows下用户变量和系统变量
环境变量分为用户变量和系统变量. 系统变量,对所有用户起作用;而用户环境变量只对当前用户起作用. 例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用 ...
- abap中结构体嵌套结构体。
1: 结构体中嵌套结构体. *&---------------------------------------------------------------------* *& Re ...
- ES6语法 promise用法
ES6语法 promise用法 function doSomething(){ return new Promise((resolve,reject)=>{ resolve('jjjj');// ...
- kfrobotaidlog查找
======查看最新的大于6的数量========== select c.questionid from (select a.questionid, b.clientQuestion from sim ...
- react 写一个贪吃蛇
示例: 全部代码如下: snake.jsx import React, { Component } from 'react'; import PropTypes from 'prop-types'; ...
- 7.C# 多态的实现
C# 多态的实现 封装.继承.多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了.我一直认为学习OO的最好方法就是结合实践,封装.继承在实 ...
- 使用SQL语句如何实现条件判断
客户需求是咨询如何用SQL结合decode函数实现条件判断,比如当某一列数值大于500,对应类型"大于500":当某一列数值小于500,对应类型"小于500". ...
- uml的几种关系总结
UML类图几种关系的总结 在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregati ...
- JavaScript学习笔记之call和apply
前端的知识面太广了,想要记住所有知识点是不可能的,所以将这些学过的记录下来,随时都可以翻开来参考 1.call方法 调用一个对象的一个方法,call(this, arg1, arg2,argN);用来 ...