4 Star 53 Fork 15

朱荣桓 / layer移动版二次封装

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
layer.js 5.38 KB
一键复制 编辑 原始数据 按行查看 历史
朱荣桓 提交于 2021-06-21 08:07 . layer.js.
/*! layer mobile-v2.0 弹层组件移动版 The MIT License */
; !function (a) { "use strict"; var b = document, c = "querySelectorAll", d = "getElementsByClassName", e = function (a) { return b[c](a) }, f = { type: 0, shade: !0, shadeClose: !0, fixed: !0, anim: "scale" }, g = { extend: function (a) { var b = JSON.parse(JSON.stringify(f)); for (var c in a) b[c] = a[c]; return b }, timer: {}, end: {} }; g.touch = function (a, b) { a.addEventListener("click", function (a) { b.call(this, a) }, !1) }; var h = 0, i = ["layui-m-layer"], j = function (a) { var b = this; b.config = g.extend(a), b.view() }; j.prototype.view = function () { var a = this, c = a.config, f = b.createElement("div"); a.id = f.id = i[0] + h, f.setAttribute("class", i[0] + " " + i[0] + (c.type || 0)), f.setAttribute("index", h); var g = function () { var a = "object" == typeof c.title; return c.title ? '<h3 style="' + (a ? c.title[1] : "") + '">' + (a ? c.title[0] : c.title) + "</h3>" : "" }(), j = function () { "string" == typeof c.btn && (c.btn = [c.btn]); var a, b = (c.btn || []).length; return 0 !== b && c.btn ? (a = '<span yes type="1">' + c.btn[0] + "</span>", 2 === b && (a = '<span no type="0">' + c.btn[1] + "</span>" + a), '<div class="layui-m-layerbtn">' + a + "</div>") : "" }(); if (c.fixed || (c.top = c.hasOwnProperty("top") ? c.top : 100, c.style = c.style || "", c.style += " top:" + (b.body.scrollTop + c.top) + "px"), 2 === c.type && (c.content = '<i></i><i class="layui-m-layerload"></i><i></i><p>' + (c.content || "") + "</p>"), c.skin && (c.anim = "up"), "msg" === c.skin && (c.shade = !1), f.innerHTML = (c.shade ? "<div " + ("string" == typeof c.shade ? 'style="' + c.shade + '"' : "") + ' class="layui-m-layershade"></div>' : "") + '<div class="layui-m-layermain" ' + (c.fixed ? "" : 'style="position:static;"') + '><div class="layui-m-layersection"><div class="layui-m-layerchild ' + (c.skin ? "layui-m-layer-" + c.skin + " " : "") + (c.className ? c.className : "") + " " + (c.anim ? "layui-m-anim-" + c.anim : "") + '" ' + (c.style ? 'style="' + c.style + '"' : "") + ">" + g + '<div class="layui-m-layercont">' + c.content + "</div>" + j + "</div></div></div>", !c.type || 2 === c.type) { var k = b[d](i[0] + c.type), l = k.length; l >= 1 && layer.close(k[0].getAttribute("index")) } document.body.appendChild(f); var m = a.elem = e("#" + a.id)[0]; c.success && c.success(m), a.index = h++ , a.action(c, m) }, j.prototype.action = function (a, b) { var c = this; a.time && (g.timer[c.index] = setTimeout(function () { layer.close(c.index) }, 1e3 * a.time)); var e = function () { var b = this.getAttribute("type"); 0 == b ? (a.no && a.no(), layer.close(c.index)) : a.yes ? a.yes(c.index) : layer.close(c.index) }; if (a.btn) for (var f = b[d]("layui-m-layerbtn")[0].children, h = f.length, i = 0; h > i; i++)g.touch(f[i], e); if (a.shade && a.shadeClose) { var j = b[d]("layui-m-layershade")[0]; g.touch(j, function () { layer.close(c.index, a.end) }) } a.end && (g.end[c.index] = a.end) }, a.layer = { v: "2.0", index: h, open: function (a) { var b = new j(a || {}); return b.index }, close: function (a) { var c = e("#" + i[0] + a)[0]; c && (c.innerHTML = "", b.body.removeChild(c), clearTimeout(g.timer[a]), delete g.timer[a], "function" == typeof g.end[a] && g.end[a](), delete g.end[a]) }, closeAll: function () { for (var a = b[d](i[0]), c = 0, e = a.length; e > c; c++)layer.close(0 | a[0].getAttribute("index")) } }, "function" == typeof define ? define(function () { return layer }) : function () { var a = document.scripts, c = a[a.length - 1], d = c.src, e = d.substring(0, d.lastIndexOf("/") + 1); c.getAttribute("merge") || document.head.appendChild(function () { var a = b.createElement("link"); return a.href = e + "need/layer.css?2.0", a.type = "text/css", a.rel = "styleSheet", a.id = "layermcss", a }()) }() }(window);
var ui = {
msg: function (content, callback, time = 3) {
//普通提示信息
layer.open({
content: content
, time: time
, skin: 'msg'
, end: callback
});
},
success: function (content, callback, time = 3) {
//成功提示信息
layer.open({
content: content
, className: 'layer-success'
, time: time
, skin: 'msg'
, end: callback
});
},
error: function (content, callback, time = 3) {
//失败提示信息
layer.open({
content: content
, className: 'layer-error'
, time: time
, skin: 'msg'
, end: callback
});
},
alert: function (content, callback, className = 'success') {
//alert框
layer.open({
content: content
, btn: "确定"
, className: 'layer-' + className
, shadeClose: false
, yes: callback
});
},
confirm: function (content, callback) {
//询问框
layer.open({
content: content
, btn: ['确定', '取消']
, className: 'layer-error'
, shadeClose: false
, yes: callback
});
},
loading: function (content = '') {
//loading带文字
layer.open({
type: 2
, shadeClose: false
, className: 'layer-loading'
, content: content
});
},
closeAll: function () {
//关闭所有层
layer.closeAll()
},
}
1
https://gitee.com/zhuronghuan/layer.git
git@gitee.com:zhuronghuan/layer.git
zhuronghuan
layer
layer移动版二次封装
master

搜索帮助