/** layui-v2.5.6 MIT License By https://www.layui.com */ ;layui.define("jquery", function(e) { "use strict"; var l = layui.$, o = function(e) {}, t = ''; // 定义 load 方法,用于加载更多内容 o.prototype.load = function(e) { var o, i, n, r, a = this, c = 0; e = e || {}; var f = l(e.elem); // 获取加载更多按钮所在的元素 if (f[0]) { // 如果该元素存在 var m = l(e.scrollElem || document), // 获取滚动容器元素,默认为 document u = e.mb || 50, // 滚动到距离底部多少距离时触发加载更多 s = !("isAuto" in e) || e.isAuto, // 是否自动加载 v = e.end || "没有更多了", // 加载完成后的提示 y = e.scrollElem && e.scrollElem !== document, // 判断是否是自定义滚动区域 d = "加载更多", // 默认的加载更多文本 h = l('
"); f.find(".layui-flow-more")[0] || f.append(h); // 如果没有加载更多的按钮,则追加 var p = function(e, t) { e = l(e); h.before(e); // 将新内容插入到加载更多按钮之前 t = 0 == t || null; t ? h.html(v) : h.find("a").html(d); // 如果已加载完毕,显示“没有更多了” i = t; o = null; n && n(); }; // 加载更多逻辑 var g = function() { o = !0; h.find("a").html(t); // 显示加载动画 "function" == typeof e.done && e.done(++c, p); // 如果有 done 方法,调用它 }; // 初始化加载 g(); // 点击加载更多时,触发加载操作 h.find("a").on("click", function() { l(this); i || o || g(); }); // 如果启用了懒加载 if (e.isLazyimg) var n = a.lazyimg({ elem: e.elem + " img", scrollElem: e.scrollElem }); return s ? (m.on("scroll", function() { var e = l(this), t = e.scrollTop(); r && clearTimeout(r); !i && f.width() && (r = setTimeout(function() { var i = y ? e.height() : l(window).height(), n = y ? e.prop("scrollHeight") : document.documentElement.scrollHeight; // 滚动到底部时加载更多 n - t - i <= u && (o || g()); }, 100)); }), a) : a; } }; // 懒加载方法 o.prototype.lazyimg = function(e) { var o, t = this, i = 0; e = e || {}; var n = l(e.scrollElem || document), r = e.elem || "img", a = e.scrollElem && e.scrollElem !== document; // 图片加载检查和设置 var c = function(e, l) { var o = n.scrollTop(), r = o + l, c = a ? function() { return e.offset().top - n.offset().top + o; }() : e.offset().top; if (c >= o && c <= r && !e.attr("src")) { var m = e.attr("lay-src"); layui.img(m, function() { var l = t.lazyimg.elem.eq(i); e.attr("src", m).removeAttr("lay-src"); l[0] && f(l); i++; }); } }; // 触发懒加载 var f = function(e, o) { var f = a ? (o || n).height() : l(window).height(), m = n.scrollTop(), u = m + f; t.lazyimg.elem = l(r); if (e) c(e, f); else { for (var s = 0; s < t.lazyimg.elem.length; s++) { var v = t.lazyimg.elem.eq(s), y = a ? function() { return v.offset().top - n.offset().top + m; }() : v.offset().top; if (c(v, f), i = s, y > u) break; } } }; // 初次加载图片 f(); if (!o) { var m; n.on("scroll", function() { var e = l(this); m && clearTimeout(m); m = setTimeout(function() { f(null, e); }, 50); }); o = !0; } return f; }; // 定义模块接口 e("flow", new o); });