Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果

合集下载

JS+Ajax+Jquery实现页面无刷新分页以及分组超强的实现

JS+Ajax+Jquery实现页面无刷新分页以及分组超强的实现

JS+Ajax+Jquery实现页⾯⽆刷新分页以及分组超强的实现复制代码代码如下:<%@ Page language="c#" Codebehind="GroupText.aspx.cs" AutoEventWireup="false" Inherits="test1.GroupText" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML><HEAD><title>GroupText</title><meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"><meta name="CODE_LANGUAGE" Content="C#"><meta name="vs_defaultClientScript" content="JavaScript"><meta name="vs_targetSchema" content="/intellisense/ie5"><LINK href="css/wmh.css" href="css/wmh.css" type="text/css" rel="stylesheet"><script src="js/jquery.js" type="text/javascript"></script><script src="js/Common.js" type="text/javascript"></script><script src="js/getCommonTable.js" type="text/javascript"></script><script src="js/GroupText.js" type="text/javascript"></script><script language="javascript"><!--var ecid = '100001';var jpstr = "";var pageSize = 8;// --></script></HEAD><body MS_POSITIONING="GridLayout"><form id="Form1" method="post" runat="server"><div class="listDiv" style="height:100%; PADDING-TOP: 2px"><table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr class="dg_header"><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; WIDTH: 10%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center" >活动名称</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 10%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">发送⽅</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 10%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">接收⽅</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 12%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">发送时间</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 38%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">发送内容</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 10%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">积分</td><td style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; WIDTH: 10%; BORDER-BOTTOM: 1px solid; TEXT-ALIGN: center">状态</td></tr><tr><td class="dg_line" style="BORDER-BOTTOM: 0px solid" style="BORDER-BOTTOM: 0px solid" vAlign="top" width="100%" colSpan="7"height="100%"><div id="divcontent" style="WIDTH: 100%; HEIGHT: 100%" align="left"></div></td></tr><tr><td class="dg_line" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid"width="100%" colSpan="10"><table width="100%"><tr><td class="pgtext">共<span id="recordcount" style="COLOR: red" style="COLOR: red">0</span>条记录&nbsp;&nbsp;&nbsp;⽬前第<span id="curpageindex" style="COLOR: red" style="COLOR: red">0</span> <fontcolor="red">/</font><span id="pgcount" style="COLOR: red" style="COLOR: red">0</span>页&nbsp;&nbsp;&nbsp;<input class="pageText" id="gototxt" type="text" maxLength="10" name="gototxt" runat="server"><input id="gotopg" type="button" class="goBtn"></td><td align="right"><IMG id="btnfirst" style="CURSOR: hand" style="CURSOR: hand" alt="⾸页"src="Images/first.gif"><IMG id="btnpre" style="CURSOR: hand" style="CURSOR: hand" alt="上⼀页"src="Images/btn_pre.gif" > <IMG id="btnnext" style="CURSOR: hand" style="CURSOR: hand" alt="下⼀页"src="Images/btn_next.gif" ><IMG id="btnlast" style="CURSOR: hand" style="CURSOR: hand" alt="尾页"src="Images/btn_last.gif" ></td></tr></table></td></tr></table></div></form></body></HTML>Common.js复制代码代码如下:Common.js://时间格式化function getDateByFormat(oldDate){var Dy = oldDate.getFullYear();var Dm = oldDate.getMonth()+1;var Dd = oldDate.getDate();if(Dm<10){Dm = "0" + Dm;}if(Dd<10){Dd = "0" + Dd;}var newDate = Dy+'-'+Dm+'-'+Dd;return newDate;}//⽇期-时间格式化function getDateTimeByFormat(oldDate){var Dy = oldDate.getFullYear();var Dm = oldDate.getMonth()+1;var Dd = oldDate.getDate();var Dh = oldDate.getHours();var Dmi = oldDate.getMinutes();&nbsp;&nbsp;var Ds = oldDate.getSeconds(); &nbsp;&nbsp;if(Dm<10)Dm = "0" + Dm;if(Dd<10)Dd = "0" + Dd;if(Dh<10)Dh = "0" + Dh;if(Dmi<10)Dmi = "0" + Dmi;if(Ds<10)Ds = "0" + Ds;var newDate = Dy+'-'+Dm+'-'+Dd+' '+Dh+':'+Dmi+':'+Ds;return newDate;}//只能输⼊数字function txtnumber(){if ((event.keyCode >57) || (event.keyCode <48))return false;else return true;}//只能输⼊数字和字母function txtnumchar(){ //65- 90 97-122var kcode = event.keyCode;if (kcode >= 48 && kcode <= 57)return true;else if(kcode >= 65 && kcode <= 90)return true;else if (kcode >= 97 && kcode <= 122)return true;elsereturn false;}getCommonTable.js复制代码代码如下:getCommonTable.js//获取table头function getTableHeadByWidth(widthSize,ids){var Tableone = "<table id='tab"+ids+"' border='0' cellspacing='0' cellpadding='0' ";var Tabletwo = ">";if (widthSize == "")return Tableone + Tabletwo;elsereturn Tableone+"width="+widthSize+Tabletwo;}//获取第⼀个tr td 传⼀个宽度值function getTrAndTdFirstByCWidth(classname,widthSize){var tdone = " <tr ";var tdtwo = "><td style="BORDER-BOTTOM: 1px solid;" style="BORDER-BOTTOM: 1px solid;" align='center' "; var tdthr = " > ";if (classname =="")tdone += tdtwo;elsetdone+=" class ='"+classname+"' "+tdtwo;if (widthSize == "")tdone += tdthr;elsetdone += " width="+widthSize+tdthr;return tdone;}//获取下⼀个TD,传⼀个宽度值function getTdNextByWidth(widthSize){var tdone = "&nbsp;</td><td style=" BORDER-BOTTOM: 1px solid" style=" BORDER-BOTTOM: 1px solid" align='center' ";var tdtwo =">";if (widthSize =="")return tdone+tdtwo;elsereturn tdone+"width="+widthSize+tdtwo;}//获取最后⼀个tdfunction getTdLastByWidth(widthSize){var tdone = "&nbsp;</td><td style=" BORDER-BOTTOM: 1px solid" style=" BORDER-BOTTOM: 1px solid" align='center' ";var tdtwo =">";if (widthSize =="")return tdone+tdtwo;elsereturn tdone+"width="+widthSize+tdtwo;}//获取最后⼀个tr/tdfunction getTrAndTdLast(){return "&nbsp;</td></tr>";}//获取table尾function getTableLast(){return "</table>";}//获取imgfunction getImgByParams(imgUrl,altstr,eventName,eventParams,imgid){var one = "<img border='0' style="CURSOR: hand" style="CURSOR: hand"";if (imgUrl != "")one += "src='"+imgUrl+"'";if (altstr != "")one += "alt='"+altstr+"'";if(imgid != "")one += "id='"+imgid+"'";one += "onclick='"+eventName+"("+eventParams+");'>&nbsp;";return one}//--------排序---------------------------//通过字段的内容排序SortByBtnidAndCellName=function(btnId,cellName,celltype){var way = getOpType(btnId);//0为正。

ajax无刷新分页请求的原理

ajax无刷新分页请求的原理

ajax无刷新分页请求的原理Ajax无刷新分页请求的原理在Web开发中,经常会遇到需要分页加载数据的场景,而传统的分页方式是通过刷新整个页面来加载新的数据。

然而,这种方式会导致用户体验较差,页面加载速度慢,因此,Ajax无刷新分页请求成为了一种常见的解决方案。

Ajax是一种能够在不重新加载整个页面的情况下与服务器进行数据交互的技术。

它通过在后台与服务器进行异步通信,实现了在页面不刷新的情况下更新部分内容的效果。

而无刷新分页请求就是利用了Ajax的这个特性,通过局部刷新页面来加载新的数据,从而实现分页的效果。

实现无刷新分页请求的关键在于前端和后端的配合。

首先,前端需要监听用户的操作,当用户点击分页按钮时,前端会发起一个Ajax 请求,向服务器请求新的数据。

这个请求通常会携带一些参数,如当前页码、每页显示的数据条数等。

然后,服务器接收到这个请求后,会根据参数进行相应的处理,从数据库中查询对应的数据,并将数据返回给前端。

前端接收到服务器返回的数据后,会使用JavaScript动态地更新页面的内容,将新的数据展示给用户。

这个过程中,只有部分页面内容会被刷新,而不会影响其他部分的显示。

这样就实现了无刷新的分页效果。

在实现无刷新分页请求时,还需要注意一些细节。

首先,前端需要对用户的操作进行合理的处理,避免用户频繁地点击分页按钮导致多次请求,可以通过设置一个延时器,保证用户在一段时间内只能点击一次分页按钮。

其次,需要给用户提供一些反馈信息,如加载中的动画或提示文字,以便用户知道数据正在加载中。

最后,还要考虑性能优化的问题,如合理地设置缓存、减少请求次数等,以提升用户的体验。

总结起来,Ajax无刷新分页请求通过前端与后端的配合,利用Ajax 技术在不刷新整个页面的情况下加载新的数据,实现了分页的效果。

这种方式可以提升用户的体验,减少不必要的页面刷新,对于数据量较大或需要频繁分页的场景尤为适用。

在实际开发中,我们可以根据具体的需求和技术栈选择合适的方法和工具来实现无刷新分页请求。

基于ajax+php+mysql的无刷新分页工具的研究与实现

基于ajax+php+mysql的无刷新分页工具的研究与实现

//此处包含配置文件,连接服务器,选择数据库。(代码略)
约束结果集中的行数。语法为:
$pageSize=5; // 每页显示的记录行数
limit [offset,]count
$pageCodeNum=6; // 分页导航页码的个数
其中,offset 参数指定要返回的第一行的偏移量。第一行
$sqlQuery="select 字段列表 from 表 ……"; //查询语句,
分页的原理其实很简单,其实质就是按照提供的起始和 的区域,假设是 id 为“result”的 DIV。该区域将填充 AJAX 返
结束位置分批显示数据表记录。因此,用户提交的关键信息 回的信息。该信息是对原有的数据列表和分页导航的重写。
就是当前的页码$pageNow 和每次要显示的记录条数$pageS- 因此,需要将原有的数据列表和页面导航隐藏。
ize。其中,$pageNow 的值就是分页导航中的页码数,它决定
在数据显示页还将调用分页处理函数返回的分页信息,
了在数据表中读取数据的起始位置;而$pageSize 的值就决定 从而显示分页导航。基本结构如下:
了从起始位置向后读取的范围。
<? php
在 MYSQL 中构造 SQL 查询语句时,limit 子句可以用来
与最大导航页码处于同一个页面导航条内。如图 6 中的页码
//显示分页函数 page 返回的分页导航信息(代码略)
“17”。此时:
</div>
前段页码数 $forward = $pageNow - $pageCodeNum
<? php //关闭连接(代码略)?>
当前页码段中的页码就是从 $forward + 1 到 $pageTotal

Ajax写分页查询(实现不刷新页面)

Ajax写分页查询(实现不刷新页面)

var da = 1;
// 最小页
$.ajax({
async:false,
//
做成同步
url:"zys.php", dataType:"TEXT", success:function(data){
da = data; //最大页数
} });
}
接下来做查询总页数的php页面:
<?php //查询总页数 include ("db.class.php"); $db = new db(); $sql = "select count(*) from min"; $zts = $db->strquery($sql); //总条数 echo ceil($zts/3); //ceil向上取整
可以,没毛病 7.做页数的点击事件,实现点击页数跳转到该页数并显示数据,还要更新列表; 先给数字列表加上一个class
s += " <li class='active list'><a>" + i + "</a></li>"
然后写方法:
//给列表加上点击事件
$(".list").click(function(){
//
alert(da);
if(page<da)
{
//如果不是第一页
page = parseInt(page) + 1;
}
//
page获取了当前页,重新加载以下方法
//调用load方法
load();
//把加载数据封装成一个方法

商品评论无刷新分页”的代码,详细描述功能实现过程;

商品评论无刷新分页”的代码,详细描述功能实现过程;

商品评论无刷新分页”的代码,详细描述功能
实现过程;
商品评论无刷新分页的代码可以通过使用Ajax和服务器端数据处理技术实现。

实现过程如下:
1. 在前端页面HTML中创建一个用于展示评论的容器,例如一个`<div>`元素。

2. 在JavaScript代码中使用Ajax技术向服务器端发送请求,获取评论数据。

可以使用`XMLHttpRequest`对象或者更方便的第三方库(例如jQuery的`$.ajax`)来发送请求。

3. 在服务器端,接收到评论数据请求后,根据需要的页码和每页展示的评论数量,从数据库或其他数据源中获取相应的评论数据。

4. 将获取到的评论数据转换为JSON格式,并发送回前端页面。

5. 在前端页面的JavaScript代码中,接收到服务端返回的评论数据后,解析JSON数据,并将评论内容渲染到评论容器中。

6. 在前端页面上添加页面导航元素,例如一个包含页码数字的HTML元素或一个包含“上一页”和“下一页”按钮的HTML元素。

7. 为页面导航元素绑定事件监听器。

当用户点击或触发相关导航元素时,通过Ajax向服务器端发送请求,请求指定页码和每页评论数量的评论数据。

8. 服务器端接收到分页请求后,执行步骤3中的逻辑,返回对应页码的评论数据给前端。

9. 前端接收到服务端返回的评论数据后,执行步骤5中的逻辑,更新评论容器中的评论内容。

通过以上步骤的实现,即可实现商品评论的无刷新分页功能。

用户在浏览评论时,可以方便地切换到不同的评论页码,同时页面的刷新和加载时间也得到了优化。

ajax无刷新分页的性能优化方法

ajax无刷新分页的性能优化方法

ajax无刷新分页,已经是一个大家比较熟悉的事物了,大概就是web前端页面上有一个js的方法,通过ajax去请求服务器端的分页数据接口,拿到数据后再在页面上创建html 结构,展现给用户,类似于下面这样:?12345678910111213 &lt;script type=”text/javascript”&gt; function getpage(pageindex){ ajax({ url:”remoteinterface.cgi”, method:”get”, data:{pageindex:pageindex}, callback:callback }); } function callback(datalist){ //todo:根据返回的datalist数据创建html结构展现给用户。

} &lt;/script&gt;其中,remoteinterface.cgi是一个服务器端的接口。

我们这里限于篇幅,涉及的实例代码可能都不是完整的,只为了把意思表达明白。

ui上,可能会有各种款式的分页控件,大家也都比较熟悉,比如:但无非都是用户点击控件触发这里的getpage(pageindex)方法,这个getpage方法可能不是那么简单。

如果按照代码片段1的写法,我们可以想象,用户每次点击翻页的时候,都会请求一次remoteinterface.cgi,在忽略数据可能有更新的情况下,除了第一次,后面每次getpage(1) 、getpage(2)、getpage(3)等等所触发的远程接口请求以及在网络上往返的数据流量,其实都是重复的、不必要的。

每页第一次请求的时候都可以把这些数据以某种形式缓存在页面上,用户如果有兴趣回头来看之前翻过的页,getpage方法应该先检查本地缓存当中是否包含该页数据,如果有,则直接重新展现给用户,而不是去调用远程接口。

按照这个想法,我们可以把代码片段1修改一下,如下:?12345678910111213141516171819202122232425 &lt;script type=”text/javascript”&gt; var pagedatalist={}; function getpage(pageindex){ if(pagedatalist[pageindex]){ //如果本地的数据列表中包含当前请求页码的数据showpage(pagedatalist[pageindex])//直接展现当前数据} else{ ajax({ url:”remoteinterface.cgi”, method:”get”, data:{pageindex:pageindex}, callback:callback }); } } function callback(pageindex,datalist){ pagedatalist[pageindex]= datalist; //缓存数据showpage(datalist);//展现数据} function showpage(datalist){ //todo:根据返回的datalist数据创建html结构展现给用户。

Thinkphp5之ajax分页实现_paginate()参数详细

Thinkphp5之ajax分页实现_paginate()参数详细

Thinkphp5之ajax分页实现_paginate()参数详细Thinkphp5 做数据搜索需要带关键词分页,如何将查询条件带⼊到分页中,本⽂详细介绍Thinkphp5 分页带参数⼀、基本使⽤⽅法:$list = Db::name('user')->where('status',1)->paginate(10);⼆、查看thinkphp5 paginate()函数paginate()函数可以带三个参数:$listRows 每页数量数组表⽰配置参数$simple 是否简洁模式或者总记录数如果为true,那么分页的就是只有上⼀页和下⼀页$config 配置参数具体可以⾃⼰传⼊或者在配置⽂件中配置$config 参数具体配置参数描述list_rows每页数量page当前页path url路径query url额外参数fragment url锚点var_page分页变量type分页类名三、解决⽅案:$list = Db::name('user')->where('status',1)->paginate(10,false,['type' => 'Bootstrap','var_page' => 'page',//使⽤jqery ⽆刷新分页'path'=>'javascript:AjaxPage([PAGE]);'//第⼀种⽅法,使⽤数组⽅式传⼊参数'query' => ['keyword'=>$keyword],// 第⼆种⽅法,使⽤函数助⼿传⼊参数// 'query' => request()->param(),]);使⽤时在html模板页相应位置放⼊{$list->render()}<!-- 分页 --><div class="row"><div id="result">{$list->render()}</div></div>此时页⾯⾥会⽣成⼀个页码界⾯.虽然⽅法很简单,但是存在⼀个问题,每次点击页⾯都要刷新,⽤户体验很不好,所以要在tp5原有分页类的基础上加⼀个ajax操作,直接上代码:模板jquery_ajax代码:<script>var AjaxPage = function(page){$.ajax({url:'http://xxx/public/index.php/back/topic/ajaxList',type:'post',dataType:'json',data: {apage:page},success:function(data){//console.log(data)$("#result").html(data.page);}});}</script>控制器controller\Topic.php//显⽰分类管理界⾯public function listAction(){$list = model('Topic')->paginate(10,false,['type' => 'Bootstrap','var_page' => 'page','path'=>'javascript:AjaxPage([PAGE]);',//使⽤函数助⼿传⼊参数'query' => request()->param(),]);// $res = $mem->getList();$this->assign('list',$list);return $this->fetch('list');}public function ajaxListAction(){$page = request()->param('apage');if (!empty($page)) {$rel = model('topic')->paginate(10,false,['type' => 'Bootstrap','var_page' => 'page','page' => $page,'path'=>'javascript:AjaxPage([PAGE]);',]);$page = $rel->render();}return json(['list'=>$rel,'page'=>$page]);}因为使⽤了模型⽅法,还要定义⼀个模型类model\Topic.php<?php/*** Created by PhpStorm.* User: houzhyan* mail: houzhyan@* Locator: http://www.phpclass.top* Date: 2017/10/23* Time: 11:58*/namespace app\back\model;use think\Model;class Topic extends Model {}测试结果:。

asp.net使用AJAX实现无刷新分页

asp.net使用AJAX实现无刷新分页

查询功能是开发中最重要的一个功能,大量数据的显示,我们用的最多的就是分页。

在 中有很多数据展现的控件,比如Repeater、GridView,用的最多的GridView,它同时也自带了分页的功能。

但是我们知道用GridView来显示数据,如果没有禁用ViewState,页面的大小会是非常的大的。

而且平时我们点击首页,下一页,上一页,尾页这些功能都是会引起页面回发的,也就是需要完全跟服务器进行交互,来回响应的时间,传输的数据量都是很大的。

AJAX的分页可以很好的解决这些问题。

数据显示Pasing.aspx页面JS代码:代码如下:&lt;script type=text/javascript&gt;var pageIndex = 0;var pageSize = 5;window.onload = AjaxGetData(name,0,5);function AjaxGetData(name, index, size){$.ajax({url: jQueryPaging.aspx,type: Get,data: Name= + name + &amp;PageIndex= + index + &amp;PageSize= + size,dataType: json,success: function (data) {var htmlStr = ;htmlStr +=htmlStr +=htmlStr +=htmlStr += ;htmlStr += //data.cloudfileLists.lengthfor (var i = 0; i &lt; data.cloudfileLists.length; i++){htmlStr += ;htmlStr +=+htmlStr += ;}htmlStr += ;htmlStr += ;htmlStr += ;htmlStr += ;htmlStr += ;htmlStr += ;htmlStr += &lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;编号&lt;/td&gt;&lt;td&gt;文件名&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt; + data.cloudfileLists[i].FileID + &lt;/td&gt;&lt;td&gt; + data.cloudfileLists[i].FileName +&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tfoot&gt;&lt;tr&gt;&lt;td colspan="'6'"&gt;;htmlStr += &lt;span&gt;共有记录+ data.Count + ;共&lt;span id="'count'"&gt; + (data.Count % 5 == 0 ? parseInt(data.Count / 5) : parseInt(data.Count / 5 + 1)) + &lt;/span&gt;页+ &lt;/span&gt;;htmlStr += 首页;htmlStr += 前一页;htmlStr += 后一页;htmlStr += 尾页;htmlStr += &lt;input type="'text'"&gt;&lt;input type="'button'" value="'跳转'" onclick="'GoToAppointPage(this)'"&gt; ;htmlStr += &lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&lt;/table&gt;;$(#divSearchResult).html(htmlStr);//重写html},error: function (XMLHttpRequest, textStatus, errorThrown) {alert(XMLHttpRequest);alert(textStatus);alert(errorThrown);}});}//首页function GoToFirstPage() {pageIndex = 0;AjaxGetData($(#txtSearch).val(), pageIndex, pageSize);}//前一页function GoToPrePage() {pageIndex -= 1;pageIndex = pageIndex &gt;= 0 ? pageIndex : 0;AjaxGetData($(#txtSearch).val(), pageIndex, pageSize);}//后一页function GoToNextPage() {if (pageIndex + 1 &lt; parseInt($(#count).text())) {pageIndex += 1;}AjaxGetData($(#txtSearch).val(), pageIndex, pageSize);}//尾页function GoToEndPage() {pageIndex = parseInt($(#count).text()) - 1;AjaxGetData($(#txtSearch).val(), pageIndex, pageSize);}//跳转function GoToAppointPage(e) {var page = $(e).prev().val();if (isNaN(page)) {alert(请输入数字!);}else {var tempPageIndex = pageIndex;pageIndex = parseInt($(e).prev().val()) - 1;if (pageIndex &lt; 0 || pageIndex &gt;= parseInt($(#count).text())) {pageIndex = tempPageIndex;alert(请输入有效的页面范围!);}else {AjaxGetData($(#txtSearch).val(), pageIndex, pageSize);}}}&lt;/script&gt;同一页面HTML代码:jQueryPaging.aspx页面的CS代码如下:引用这个命名空间:using System.Web.Script.Serialization;//JavaScriptSerializer要用的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这篇文章主要介绍了Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
Bootstrap Paginator分页插件下载地址:
DownloadVisit Project in GitHub
1.这是需要分页的页面放的js函数:
&lt;span style="font-size:14px;"&gt;function paging(page){&nbsp;
$.ajax({&nbsp;
type: "GET",&nbsp;
url: "${ctx}/api/v1/user/1/"+(page-1)+"/5",&nbsp;
dataType:"json",&nbsp;
success: function(msg){&nbsp;
....//省略(查询出来数据)&nbsp;
}&nbsp;
});&nbsp;
$.ajax({&nbsp;
type: "GET",&nbsp;
url:"${ctx}/api/v1/user/count/1",&nbsp;
dataType:"json",&nbsp;
success:function(msg){&nbsp;
var pages = Math.ceil(msg.data/5);//这里data里面有数据总量&nbsp;
var element = $('#pageUl');//对应下面ul的ID&nbsp;
var options = {&nbsp;
bootstrapMajorVersion:3,&nbsp;
currentPage: page,//当前页面&nbsp;
numberOfPages: 5,//一页显示几个按钮(在ul里面生成5个li)&nbsp;
totalPages:pages //总页数&nbsp;
}&nbsp;
element.bootstrapPaginator(options);&nbsp;
}&nbsp;
});&nbsp;
}&lt;/span&gt;&nbsp;
页面:
&lt;span style="font-size:14px;"&gt;&lt;ul class="pagination" id="pageUl"&gt;&nbsp;
&lt;/ul&gt;&lt;/span&gt;
*li里面自动生成的
2.最重要也是最核心的是要自己改下bootstrap-paginator.js源文件,如下:
&lt;span style="font-size:14px;"&gt;onPageClicked: function (event, originalEvent, type, page) {&nbsp;
//show the corresponding page and retrieve the newly built item related to the page clicked before for the event return&nbsp;
var currentTarget = $(event.currentTarget);&nbsp;
switch (type) {&nbsp;
case "first":&nbsp;
currentTarget.bootstrapPaginator("showFirst");&nbsp;
paging(page);&nbsp;
break;&nbsp;
//上一页&nbsp;
case "prev":&nbsp;
currentTarget.bootstrapPaginator("showPrevious");&nbsp;
paging(page);&nbsp;
break;&nbsp;
case "next":&nbsp;
currentTarget.bootstrapPaginator("showNext");&nbsp;
paging(page);&nbsp;
break;&nbsp;
case "last":&nbsp;
currentTarget.bootstrapPaginator("showLast");&nbsp;
paging(page);&nbsp;
break;&nbsp;
case "page":&nbsp;
currentTarget.bootstrapPaginator("show", page);&nbsp;
paging(page);&nbsp;
break;&nbsp;
}&nbsp;
},&lt;/span&gt;
*在你点击的页面样式出来后调用paging(page)方法,这里的page源文件里的参数已经有了,直接传!
效果:当样式改变后,直接拿控件的page值进行ajax请求的发送!最后实现无刷新分页。

以上所述是小编给大家介绍的Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果的相关知识,希望对大家有所帮助。

相关文档
最新文档