实用jQuery分页特效插件jquery.pagination.js,基于jQuery实现,可根据pageselectCallback函数callback调用通过ajax调用动态数据,目前的方法是生成JSON数据到JS文件,调用的数据是JSON格式数据,缺点是数据是一次性读出来的,效率会差些,插件支持众多参数的自定义配置功能,还是很不错的,大家可以根据自己的想法进行改进。
有同学问道jquery的简单分页插件,原来有同事写过一个简单[Javascript 使用回调函数的自定义分页插件--自带样式]。
今天分享一个功能比较强大的jquery分页插件:jquery.pagination。
官方地址:http://esimakin.github.io/twbs-pagination/
简介与说明
此Jquery插件为Ajax分页插件,一次性加载,故分页切换时无刷新与延迟,如果数据量较大不建议用此方法,因为加载会比较慢。
原插件CSS不太合理,使用浮动,故无法方便实现左右方向的定位,且未清除浮动,在中文修改版中我对其进行了优化,使其支持text-align的定位。
对原js文件注释进行了中文翻译,demo页面也是汉化了的,demo页面的js与原demo有一些出入,但核心不变。
使用方法
跟一般的jQuery插件一样,此插件使用也很简单便捷。方法是pagination,例如$("#page").pagination(100);,这里的100参数是必须的,表示显示项目的总个数,这是最简单的使用,得到的显示如下:
还有一点值得一提的是分页列表需要放在class类为pagination的标签内,您可以使用text-align属性控制分页居中显示还是居右显示。
回调函数一般用来装载对应分页显示的内容,具体参见demo源文件。
参数
使用举例
例如下面的使用代码:
$("#Pagination").pagination(56, {
num_edge_entries: 2,
num_display_entries: 4,
callback: pageselectCallback,
items_per_page:1
});
项目demo:
定义分页相关参数:
var pageSize = 10; var allCount = 0; var currentPage = 1; var ajaxUrl = '../../Service/ActiceHandler.ashx'; var oper = "list";
html:
<table id="sample-table-2" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>编号</th>
<th>标题</th>
<th>缩略图</th>
<th>海报</th>
<%-- <th>社区</th>
<th>商品</th>--%>
<th>开始时间</th>
<th>结束时间</th>
<th>是否幻灯</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tBodyList">
</tbody>
</table>
<div id="Pagination" class="row"></div>
获取数据并调用分页函数:
function GetList(pageIndex) {
var searchName = $("#txtSearchName").val();
var cityId = GetCity();
var endTime;
var beginTime;
var communityName;
var title;
$.ajax({
type: "post",
dataType: 'json',
url: ajaxUrl,
data: {
pageSize: pageSize,
Operate: "list",
currentPageIndex: pageIndex,
endTime: $("#txtDeadTime").val(),
Cityid: cityId,
beginTime: $("#txtStartTime").val(),
communityName: $("#txtsqname").val(),
title: $("#txttitle").val()
},
success: function (data, textStatus) {
if (data != null) {
var model = eval(data);
if (model != null && model != "undefined") {
var data = eval(model.Instance);
allCount = model.TotalCount;
var html = '';
ListActive = data;
$.each(data, function (key, val) {
html = html + '<tr>';
html = html + ' <td width="100px" class="text-primary">' + val.id + '</td>';
html = html + ' <td class="left">' + val.title + '</td>';
html = html + ' <td class="left"><img width="80px" height="60px" src="/UploadFiles/2021-04-02/' + val.smallphotourl + '">
示例二:
Jquery Pagination插件代码:
<div id="page2" class="m-pagination"></div>
<script type="text/javascript">
//请求格式: .../GetPageData"data":[1,2,3,4,5,6,7,8,9,10],"total":800}
$("#page2").page({
remote: {
url: '/GetPageData', //请求地址
params: { query: "test" }, //自定义请求参数
beforeSend: function(XMLHttpRequest){
//...
},
success: function (result, pageIndex) {
//回调函数
//result 为 请求返回的数据,呈现数据
},
complete: function(XMLHttpRequest, textStatu){
//...
}
pageIndexName: 'pageIndex', //请求参数,当前页数,索引从0开始
pageSizeName: 'pageSize', //请求参数,每页数量
totalName: 'total' //指定返回数据的总数据量的字段名
}
});
</script>
以上内容是本文针对Jquery 分页插件之Jquery Pagination的全部叙述,希望大家喜欢。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。


