//请求数据加载绑定页面
function DindAjax(pageIndex) {
//获取参数
var colors = $("#colorsVal").val();

$.ajax({
url: '/Ajax/muban/AjaxHandler.ashx',
type: 'POST',
data: 'ajaxType=pagelist&pageSize=40&pageIndex=' + pageIndex+ '&colors=' + colors,
dataType: 'json',
async: false,
timeout: 6000,
error: function () { },
success: function (obj) {
result1 = eval(obj)[0];
result2 = eval(obj).splice(1, obj.length);

//有数据
if (result1.pagenum > 0) {
$(".content-nolist").hide();
$(".nolist-tj").hide();
$(".back-top").hide();
$(".fy-auto").html(pagesizelist(result1.pageIndex, result1.pagenum));
} else {
$(".nolist-tj").show();
$(".content-nolist").html(result1.result).show();
$(".fy-auto").html("");
$(".back-top").show();
}

}
});
if (result2 != null) {
firstLists = [];
newLists = [];
getJson(result2);
index = 0;
setBox(firstLists);

$('.content-lists').hide();
$('.loading').show();
imagesLoaded(document.querySelector('#masonry'), function (instance) {

imgLoad($('#masonry'));
$('.content-lists').show();
$('.loading').hide();
});

}

}

//列表绑定分页
function pagesizelist(pageIndex, pagenum) {
var i = 0;
//当前页码
var pageIndex = parseInt(pageIndex);
//查询的数据总记录
var pagenum = parseInt(pagenum);

var pagehtml = '<a class="prev ' + (pageIndex == 1 ? 'no-check' : '') + '" href="javascript:void(0);" ' + (pageIndex == 1 ? '' : 'onclick="DindAjax(' + (pageIndex - 1) + ')"') + '><i class="iconfont"></i></a>';

//默认显示分页按钮数量
var indexsize = 5;
//分页中间值偏右
var indexleft = Math.ceil(indexsize / 2);

//分页按钮起始值
var smor = 0;
//分页按钮结束值
var big = 0;

//判断分页数量和总数据量
if (pagenum > indexsize) {
smor = pageIndex < indexleft ? 0 : ((pageIndex - indexleft) >= (pagenum - indexsize) ? (pagenum - indexsize) : (pageIndex - indexleft));
big = pageIndex < indexleft ? indexsize : (pageIndex == pagenum ? pageIndex : (pageIndex + ((pagenum - pageIndex) >= (indexsize - indexleft) ? (indexsize - indexleft) : (pagenum - pageIndex))));
} else {
smor = 0;
big = pagenum;
}

for (i = smor; i < big; i++) {
if (pageIndex == (i + 1)) {
pagehtml += " <span>" + pageIndex + "</span>";
} else {
pagehtml += "<a href=\"javascript:void(0)\" onclick=\"DindAjax('" + (i + 1) + "')\">" + (i + 1) + "</a>";
}
}

pagehtml += '<a class="prev ' + ((pageIndex + 1) > pagenum ? 'no-check' : '') + '" href="javascript:void(0);" ' + ((pageIndex + 1) > pagenum ? '' : 'onclick="DindAjax(' + (pageIndex + 1) + ')"') + '><i class="iconfont"></i></a>';

pagehtml += ' <div class="fl"><b>共' + pagenum + '页</b> <b>到第</b><input onkeypress="if(event.keyCode==13){ pageValue(' + pagenum + ')};" onkeyup="javascript:value=value.replace(/[^0-9]/g,&quot;&quot;);" id="text_default" value="' + pageIndex + '" /><b>页</b></div><button class="logobutton" onclick=\"pageValue(' + pagenum + ')">确定</button>';

return pagehtml;
}

function pageValue(pagenum) {
var num = $("#text_default").eq(0).val() >= pagenum ? pagenum : $("#text_default").eq(0).val();
DindAjax(num);
}

ajax局部刷新分页的更多相关文章

  1. ajax局部刷新

    //5秒刷新一次 $(function () { setInterval(Refresh, 5000); }); //ajax局部刷新 function Refresh() { $.ajax({ ty ...

  2. ajax 无刷新分页

    //ajax 无刷新分页1.前台要做的 滑动时 当前page+1,通过page ajax请求后台接口获取数据将数据进行拼装;2.后台要做的 做分页接口返回json数据前台判断触发请求条件: var p ...

  3. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  4. php Ajax 局部刷新

    php Ajax 局部刷新: HTML部分 </head> <body> <h1>Ajax动态显示时间</h1> <input type=&quo ...

  5. 关于Ajax无刷新分页技术的一些研究 c#

    关于Ajax无刷新分页技术的一些研究 c# 小弟新手,求大神有更好的解决方案,指教下~ 以前做项目,用过GridView的刷新分页,也用过EasyUI的封装好的分页技术,最近在老项目的基础上加新功能, ...

  6. thinkphp下实现ajax无刷新分页

    1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...

  7. thickbox关闭子页后ajax局部刷新父页

    1. 首先注意需要调用thickbox的js <script type="text/javascript" src="<%=path%>/js/jque ...

  8. 学习笔记之AJAX无刷新分页

    利用AJAX实现无刷新分页技术原理: 其主要是利用AJAX的异步处理机制,实现数据的异步传递,它隐藏了客户端向服务端请求数据的状态,在客户端表现为无刷新的显示状态. 实现分页的步骤: 1.客服端点击页 ...

  9. 实现AJAX局部刷新以及PageMethod方法的使用

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

随机推荐

  1. C# viewstate

    Viewstate 处理不是form中可以传值的标签 进行传值.可以禁用元素的viewstate 也可以禁用页面的Enableviewstate=”false”;(在配置区域写)内网系统,互联网后台可 ...

  2. Base64加密解密

    /// <summary> /// 实现Base64加密解密 /// </summary> public sealed class Base64 { /// <summa ...

  3. 自定义滚动条 niceScroll 配置参数

    配置参数 当调用“niceScroll”你可以传递一些参数来定制视觉方面: cursorcolor - 十六进制改变光标颜色,默认值是“#000000” cursoropacitymin - 改变不透 ...

  4. javax.net.ssl.SSLException: java.lang.UnsupportedOperationException

    Loading KeyStore C:\Tool\jdk1.7.0_71\jre\lib\security\jssecacerts... Opening connection to www.googl ...

  5. 利用Azure高级存储搭建高性能Linux服务器(1)

    目前Azure针对虚拟机提供两种类型的存储,一种是标准存储,基于HDD的,一种是高性能存储Premium Storage(在下文中简称PS),基于SSD的.针对用户高性能,低延迟,I/O密集型的应用, ...

  6. PHP中$_GET['name']与$_POST['name']变量直接用变量名$name的php配置

    php中,可以直接使用参数名称作为变量来接收get或post的传参,条件是php.ini中register_global设置成On 另外一种方法: if(!ini_get('register_glob ...

  7. 缓存一致性(Cache Coherency)入门(转)

    参考原文:http://fgiesen.wordpress.com/2014/07/07/cache-coherency/ 本文是RAD Game Tools程序员Fabian “ryg” Giese ...

  8. Java数据结构: java.util.BitSet源码学习

    接着上一篇Blog:一道面试题与Java位操作 和 BitSet 库的使用,分析下Java源码中BitSet类的源码. 位图(Bitmap),即位(Bit)的集合,是一种常用的数据结构,可用于记录大量 ...

  9. STL适配器的初步理解

    c++中的适配器有三种:容器适配器,迭代器适配器,函数适配器.下面一一介绍: 1.容器适配器:因为这些容器都是基于其他标准容器实现的所以叫做容器的适配器,具体的有stack,queue,priorit ...

  10. 线段树(build,insert,dfs操作)

    模板原型: 解决零散数点在已知线段上的出现次数.思想是将线段用长线覆盖,将长线转化成线段树.用权值记录各个数点出现的次数,最后进行查询.代码解释见注释. #include <bits/stdc+ ...