layui 滚动加载

直接上核心代码,其实官网介绍的很详细:

var pageSize = 5;//每次请求新闻的条数
flow.load({
    elem: '#newsList' //指定列表容器
    ,scrollElem: '#newsList'//滚动条所在元素
    ,done: function(page, next){ //到达临界点(默认滚动触发),触发下一页的回调
        $.ajax({
            type: "POST",
            dataType: "json",
            data: {'pageIndex': page,'pageSize':pageSize},//请求的页码和每页显示条数
            async: true,
            url: '/news/list.do',
            success: function (result) {
                var lis = [];
                if (result.req && result.rows.length > 0) {//数据插入
                    //result.rows为Ajax返回的新闻数据
                    layui.each(result.rows, function(index, item){
                        var newsHtml = '<span news-id="'+item.id+'">'+ item.title +'</span>';
                        lis.push(newsHtml);
                    });

                    //执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
                    //result.total为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
                    next(lis.join(''), page < Math.ceil(result.total/pageSize));
                }

            }
        });
    }
});

 

posted @ 2019-11-15 09:02  &执念  阅读(5221)  评论(0编辑  收藏  举报