`
hudeyong926
  • 浏览: 2016270 次
  • 来自: 武汉
社区版块
存档分类
最新评论

比较全面的php分页导航类

阅读更多
瀑布流分页当浏览者浏览了当前页面内容后,向下拉动浏览器滚动条,本来还在服务器上的内容,会根据滚动条的拖动,动态地从服务器上按一定的单位(类似分页)下载下来。这样还带来了一个好处,就是以前已经浏览过的内容,还在浏览器当前窗口的上部(可以理解为被缓存了),要再次浏览的话,直接向上拖动滚动条或转动鼠标 滚轮即可。而采用分页技术的话,要查看先前的内容,必需再次点击鼠标(比如“上一页”等),再次请求服务器端的页面(假设没有采用缓存技术的),再次等待 页面数据的下载和呈现 。实现这种浏览效果,可以改善用户体验(最起码有新鲜感),编程技术也不难,采用 Ajax 技术是一种绝好的解决方案之一。希望更好的用户体验被大家创造出来。

 

分页存储过程http://hudeyong926.iteye.com/blog/764703

var page = 0;
$(function () {
    var scrollTimer;
    jsonScrollPageData(0);//默认加第一页

    //下面滚动取第二页++
    $(window).on('scroll', function () { //页面出现滚动条生效,即滚动事件
        if (scrollTimer) {
            clearTimeout(scrollTimer);
            scrollTimer = null;
        }
        scrollTimer = setTimeout(function () {
            jsonScrollPageData($(this).scrollTop());
        }, 200);//0.2s
    });
});

function jsonScrollPageData(position) {
    var offsetHeight = 44;
    var viewportHeight = $(window).height();
    var bodyHeight = $('body').height();

    if ((bodyHeight <= position + viewportHeight + offsetHeight) && page >= 0) {
        $.ajax({
            type: 'GET',
            url: url + "?t=" + Math.random(),
            data: {page: ++page},
            async: false,
            dataType: 'JSON',
            success: function (jsonData) {
                if (jsonData.length > 0) {

                } else { //已全部显示
                    page = -1;
                }
            }
        });
    }
}
移动端上拉加载下拉刷新插件
<div class="container">
    <div id="mescroll" class="my-address mescroll">
        <div id="addressList" class="address-list">
            <!-- 这里是ajax返结果list -->
        </div>
    </div>
</div>
 需要注意的地方是页面的container必须有固定高度,否则上拉无效。前后端的pagesize必须要相同
//创建MeScroll对象
var mescroll = new MeScroll("mescroll", {
    up: {
        callback: upCallback, //上拉加载的回调
        clearEmptyId: "addressList",
        htmlNodata: '<p class="upwarp-nodata">-- 已经到底了 --</p>',
        noMoreSize: 5, //这个是当页面显示不足这个数字的时候不显示到底定义的文字,比如不满足5条,则不显示htmlNodata  
    }
});

//上拉加载的回调 page = {num:1, size:10}; num:当前页 默认从1开始, size:每页数据条数,默认10
function upCallback(page) {
    $.ajax({
        url: '/screen/ajaxList?page=' + page.num + '&pageSize=' + page.size,
        dataType: 'json',
        type: 'GET',
        success: function (json) {
            console.log(json)
            var data = json.data;
            var _html = $('#addressListTmpl').render(data);
            $('#addressList').append(_html);
            //必传参数(总数据个数, 总页数)
            mescroll.endByPage(curPageData.length, totalPage);
        },
        error: function (e) {
            //联网失败的回调,隐藏下拉刷新和上拉加载的状态
            mescroll.endErr();
        }
    });
}
 
分享到:
评论

相关推荐

    php完美分页类

    一款适合各种分页的分页类,可以直接根据构造函数的提示直接使用,分页导航直接调用最后的那个函数,非常完美的分页,考虑到各种情况.

    PHP分页导航

    分页小例子PHP自定义类,实用的代码,不够20个字吗?

    php分页类很完美

    //$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。 // 默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数...

    简单的PHP分页函数类.zip

    介绍一个简单的PHP分页函数类,取得信息总数,调用分页函数,进行数据库操作,输出分页导航内容。

    php留言+分页...........

    php留言+分页 php 留言+分页 留言 分页

    php分页程序paginator类.zip

    分享一个php分页程序paginator程序代码,函数1:根据总页数,当前页,和页分组及url产生分页导航,分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址)。函数2:根据记录数,页列清数,$page,当前页;$row_num记录...

    php分页程序paginator类

    一个php分页程序paginator程序代码,函数1:根据总页数,当前页,和页分组及url产生分页导航,分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址)。函数2:根据记录数,页列清数,$page,当前页;$row_num记录总数;...

    PHP和MYSQL实现分页导航思路详解

    主要介绍了PHP和MYSQL实现分页导航思路详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    php-paginator分页处理类.zip

     }函数1:根据总页数,当前页,和页分组及url产生分页导航,分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址)。函数2:根据记录数,页列清数,$page,当前页;$row_num记录总数;$pagesize:每页记录数;$url记录...

    优客365网站分类导航系统 365网址导航源码

    优客365网站分类导航系统是个跨平台的开源软件,基于PHP+MYSQL开发构建的开源网站分类目录管理系统,具有操作简单、功能强大、稳定性好、扩展性及安全性强、二次开发及后期维护方便,可以帮您迅速、轻松地构建起一个...

    PHP+Mysql留言发布(含数据库+用户输入+列表显示+分页显示+用户登录)

    有语句解析,经验证过是能用的,虽然不是很全,但是对于入门者而言是足够的!

    Zebra_Pagination:用PHP编写的通用分页类-开源

    通用分页类,根据给定的项目总数和每页项目数,自动生成导航链接。 请注意,这是一个*通用*分页类,这意味着它不显示任何记录! 开发人员可以根据此类返回的信息来获取实际数据并进行显示。 优点是它可用于对来自...

    Zend Framework分页类用法详解

    1、分页类Pagination.php,最好是把这个类放在Zend目录下 class XY_Pagination { private $_navigationItemCount = 10; //导航栏显示导航总页数 private $_pageSize = null; //每页项目数 private $_align = ...

    简单的网店shop 适合初学者学习用

    bottom.php 尾部导航 addleibie.php 添加商品类别 changeuser.php 用户信息更改处理文件 admingonggao.php 添加商品公告 changeuserpwd.php 更改用户密码处理文件 changeadmin.php 管理员信息更改 chkuser.php 用户...

    软件博客导航系统 v1.1.rar

    软件博客导航系统最初是为我的网站(九网软件)写的一个软件博客导航,方便博主之间走访,后来写了简单的后台,美化了下前台,php mysql模式,使用了fancybox插件。 软件博客导航系统特点: 1.具有分享网站到社区的...

    paginator:Paginator很简单,可以在应用程序中生成结果导航(结果分页已解耦,并且易于与SQL集成)

    分页器@CoffeeCode 分页器是一种非常紧凑且易于使用的组件。 您只需通过计数器配置一次其行为,然后使用render方法通过所有导航链接创建导航。 轻松地使用咖啡并与您的数据库进行交互。 分页器是一种非常紧凑且易于...

    编写PHP脚本来实现WordPress中评论分页的功能

    主要介绍了编写PHP脚本来实现WordPress中评论分页的功能的方法,包括上一页下一页和导航式分页功能的添加,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics