使用layui.flow流加载和模板引擎layui.laytpl实现下拉加载更多和图片懒加载

113 篇文章 1 订阅

 使用layui.flow流加载和模板引擎layui.laytpl实现下拉加载更多和图片懒加载

layui版本:v2.6.8

html

<div id="box_left">
	<div class="NewsList" id="NewsListView"> </div>
	 
	<script id="NewsListTpl" type="text/html">
		{{# layui.each(d, function(index, item){ }} 
			<div class="NewsList_item">
				<div class="NewsList_item_tuwen">
					<a href="?id={{item.id}}" target="_blank">
					<!--temp.png是临时占位图-->
					<img alt="{{item.title}}" src="/img/temp.png" lay-src="{{item.imgUrl)}}">
					</a> 
					<p class="desc">{{item.title}}</p> 
				</div>
			</div> 
		{{# }); }}
	</script>
</div>

引入

引入  'flow','jquery'
var flow = layui.flow; //流加载
var $ = layui.jquery;

js

var logLock = true; //是否向控制台打印调试数据
var log = function(msg) { if (logLock == true) console.log(msg) };

var pageNum = 1; //页码
var pageSize = 10; //几条数据
var pageSum = 1;

/**
 * 获取总页数
 * @param {*} _allNumber 所有条数据
 * @param {*} _pageSize 每页条数
 */
var GetPageSumFUN = function(_allNumber, _pageSize) {
	var i = _allNumber / _pageSize;
	var j = _allNumber % _pageSize;
	log("i==" + i);
	log("j==" + j);
	i = j > 0 ? i + 1 : i;
	log("i==" + i);
	return i;
};


var DataArray = new Array();
var _item_dataArry; //防止IdArray污染的缓存变量
var GetInterestListDataFun = function(IdArray) { 

_item_dataArry = IdArray;

        flow.load({
            elem: '#box_left', //指定列表容器  
            mb: 50, //与底部的临界距离,默认50 触发加载更多
            isLazyimg: true, //	是否开启图片懒加载
            done: function(page, next) { //到达临界点(默认滚动触发),触发下一页

                IdArray = _item_dataArry;

                var formData = {
                    typeid: IdArray,
                    pageNum: page,
                    pageSize: pageSize
                };

                $.ajax({
                    url:'https://mp.csdn.net/mp_blog/',
                    type: 'get',
                    data: formData,
                    success: function(data) {
                        if (data.code == "10000") {
                            var _A1 = DataArray;
                            DataArray = _A1.concat(data.data);//合并数组
                              
                            $("#NewsListView").html('');
                            var view = document.getElementById('NewsListView');
                            var getTpl = NewsListTpl.innerHTML;
                            laytpl(getTpl).render(DataArray, function(html) {
                                view.innerHTML = html;
                            });
							 //data.total 总数据条数据
							 //pageSize 每页显示的数据条数
                            next('', page < GetPageSumFUN(data.total, pageSize));

                        } else {
                            layer.alert(data.msg);
                        }
                        // log("信息===")
                        // log(JSON.stringify(data))
                    }
                });
				
            }
        });

    };
    GetInterestListDataFun();

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙-极纪元JJY.Cheng

客官,1分钱也是爱,给个赏钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值