通过pjax实现无刷新翻页(兼容新版jquery)

 更新时间:2014年01月31日 19:10:29   作者:  
这篇文章主要介绍了通过pjax实现无刷新翻页,兼容新版jquery,使用心得方法,需要的朋友可以参考下

pushState是一个可以操作history的api,该api的介绍和使用请见这里:http://www.welefen.com/use-ajax-and-pushstate.html

目前已经有http://github.com/, http://plus.google.com, http://www.welefen.com 等网站已经使用。

pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。

同时支持了缓存和本地存储,下次访问的时候直接读取本地数据,无需在次访问。

并且展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。

关于pjax这里就不多介绍了,简单易用,轻松地实现部分刷新,告别链接带来的闪烁。
之前看过pjax并实现了demo,还写了篇笔记,不过jquery 1.9把live()方法删掉了,新版pjax也随之换了用on()方法实现,最近项目有用到,所以了解了新的使用方法,这里也做一个新的笔记。

环境:
jquery 1.10.2 下载
jquery.pjax.js 下载

使用方法:
监控所有class为pjaxlink的链接,采用pjax更新链接页面中id为ToInsert的容器内容到本页面中id为Content的容器中。若获取内容时间超过5秒,则直接跳转:

复制代码 代码如下:

$(document).pjax('a.pjaxlink', '#Content', {fragment:'#ToInsert', timeout:5000});

使用实例:
原始页面是通过跳转的翻页,我在不改变页面内容的前提下,使用pjax监控翻页链接,仅更新列表(保证列表容器是分页容器的父节点)的内容。

复制代码 代码如下:

if ($.support.pjax) {
    //遍历所有分页容器
    $('.pagercontainer').each(function(){
        //取得列表容器
        $listcontainer=$(this).parent();
        //取得列表容器的ID
        var listcontainerid=$listcontainer.attr('id');
        //用pjax监控所有分页链接并定义pjax来实现更新
        $(document).pjax('#'+listcontainerid+' .pagercontainer a', '#'+listcontainerid, {fragment:'#'+listcontainerid, timeout:5000});
    });
    $(document).on('pjax:send', function() {
        //在pjax发送请求时,显示loading动画层
        $('#loading').show();
    });
    $(document).on('pjax:complete', function() {
        //在pjax处理完成后,隐藏loading动画层
        //由于速度太快会导到loading层闪烁,影响体验,所以在此加上500毫秒延迟
        setTimeout(function(){$('#loading').hide()},500);
    });
}

相关文章

  • jQuery的文档处理程序详解

    jQuery的文档处理程序详解

    这篇文章主要介绍了jQuery的文档处理程序,结合实例形式详细分析了jQuery文档处理程序的概念、原理、使用方法与相关注意事项,并详细讲述了文档处理程序的优势,需要的朋友可以参考下
    2016-05-05
  • JQuery优缺点分析说明

    JQuery优缺点分析说明

    如果你还在犹豫是否要学习一个JavaScript框架,并困惑于选择哪一个框架,那么我推荐你选择jQuery。这并非说其它框架不好,只是jQuery可能是最稳妥和最具回报性的选择。
    2011-04-04
  • jQuery实现 RadioButton做必选校验功能

    jQuery实现 RadioButton做必选校验功能

    这篇文章主要介绍了jQuery实现 RadioButton做必选校验功能的相关资料,需要的朋友可以参考下
    2017-06-06
  • Bootstrap中点击按钮后变灰并显示加载中实例代码

    Bootstrap中点击按钮后变灰并显示加载中实例代码

    Bootstrap插件非常的好用了,今天小编通过本教程给大家介绍Bootstrap中点击按钮后变灰并显示加载中实例代码,非常不错,感兴趣的朋友一起看看吧
    2016-09-09
  • jQuery中filter()方法用法实例

    jQuery中filter()方法用法实例

    这篇文章主要介绍了jQuery中filter()方法用法,实例分析了filter()方法的功能、定义及筛选的几种使用技巧,需要的朋友可以参考下
    2015-01-01
  • jQuery实现的导航条切换可显示隐藏

    jQuery实现的导航条切换可显示隐藏

    用jQuery实现一些导航条切换,显示隐藏,主要用到slideToggle( ),toggeClass( ),toggle()
    2014-10-10
  • 实例代码讲解jquery easyui动态tab页

    实例代码讲解jquery easyui动态tab页

    这篇文章主要介绍了实例代码讲解jquery easyui动态tab页的相关资料,需要的朋友可以参考下
    2015-11-11
  • 浅谈Jquery为元素绑定事件

    浅谈Jquery为元素绑定事件

    jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。大家看看源码就知道了。
    2015-04-04
  • 使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)

    使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)

    本文通过示例给大家介绍了使用jQuery的toggle()方法对HTML标签进行显示、隐藏操作的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • jQuery实现checkbox全选功能完整实例

    jQuery实现checkbox全选功能完整实例

    这篇文章主要介绍了jQuery实现checkbox全选功能,结合完整实例形式分析了jQuery事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-07-07

最新评论