layPage 多功能的js分页组件

浏览:6847 发布日期:2015/04/16 分类:技术分享 关键字: laypage ajax分页 jquery js
layPage是一款多功能的js分页组件,即适用于异步分页,又可用于传统的整页刷新跳页,还支持信息流加载,并且可无缝迁移至Node.js平台。layPage不依赖于任何第三方库,直接拿来用即可,它的接口继承了layui系列组件的一贯简洁,极易上手。
http://sentsin.com/layui/laypage/

新增 demo(2016-01-14)

php 部分function index(){
    header('Content-Type:text/html;charset=utf-8');
    // 获取当前页码,默认第一页,设置每页默认显示条数
    $nowpage = I('get.page', 1, 'intval');
    $limits = 8;

    // 获取总条数
    $count = M('Article') -> where(array('status'=>array('egt', 0))) -> count();
    // 计算总页面
    $allpage = ceil($count / $limits);
    $allpage = intval($allpage);
        
    $lists = M('Article') -> where(array('status'=>array('egt', 0)))
                    -> page($nowpage, $limits)  // page 方法分页
                    -> order('createtime desc')
                    -> select();
    
    // 跳转分页输出
    $this -> assign('lists', $lists);
    $this -> assign('allpage', $allpage);
    $this -> assign('nowpage', $nowpage);
    $this->display();
    
    /*
    // ajax 分页输出
    $info = array('lists'=>$lists,'allpage'=>$allpage,'nowpage'=>$nowpage);
    $this->ajaxReturn($info,'json');
    */
    
}
js 中 laypage(新版本) 跳转分页// 分页
laypage({
    cont: 'show_pages', // 分页容器
    pages: "{$allpage}",     // 总页数
    skip: true, //是否开启跳页
    curr: function(){
        var page = "{$nowpage}"; // 当前页(后台获取到的)
        return page ? page : 1; // 返回当前页码值
    }(),
    jump: function(e, first){ //触发分页后的回调(单击页码后)
        if(!first){ //一定要加此判断,否则初始时会无限刷新
            var urls = "{:U('article/index',array('page'=>'pageval'))}";
            var nowpage = e.curr;  // (被单击的页码)
            urls = urls.replace('pageval',nowpage); // 替换链接样式和页码
            window.location.href = urls;
        }
    }
});
js 中 laypage(新版本) ajax 分页function demo(curr){
    $.getJSON("{:U('article/index')}", {
        page: curr //向服务端传的参数,此处只是演示
    }, function(res){ // 服务器返回的 json 结果
        // 这里处理 res.lists 中的数据内容,使用 html() 方法显示
        // 略……
        
        //显示分页
        laypage({
            cont: 'show_pages', // 容器
            pages: res.allpage,     // 总页数(后台的)
            curr: res.nowpage, //当前页(后台获取到的)
            jump: function(obj, first){ //触发分页后的回调(单击页码后)
                if(!first){ //点击跳页触发函数自身,并传递当前页:obj.curr
                    demo(obj.curr);  // (被单击的页码)
                }
            }
        });
    });
};
// 初始化运行
demo();
最佳答案
评论( 相关
后面还有条评论,点击查看>>