Files
2026-07-09 17:30:10 +08:00

88 lines
2.9 KiB
JavaScript

layui.define(["jquery", "layer"], function (exports) {
"use strict";
var $ = layui.$;
var layer = layui.layer;
var jmSheet = {
open: function (obj) {
if (typeof obj.shadeClose === 'undefined') {
obj.shadeClose = true;
}
var align = "center"
if (typeof obj.align !== "undefined" && obj.align != "") {
switch (obj.align) {
case "left":
align = "flex-start";
break;
case "right":
align = "flex-end";
break;
default:
align = "center";
}
}
var html = "";
$.each(obj.content, function (k, v) {
var img = "";
if (typeof v.img !== 'undefined' && v.img != "") {
img = `<div class="img"><img src="${v.img}"></div>`;
}
html += `<li style="justify-content:${align};">
${img}
<div class="text">
<span>${v.text}</span>
<span class="desc">${v.desc || ''}</span>
</div>
</li>`
})
var btnClose = "";
var btnCloseSize = 0;
if (typeof obj.shadeClose !== 'undefined' && !obj.shadeClose) {
btnClose = `<a href="javascript:;" class="close">取消</a>`;
btnCloseSize = (55 + 8);
}
var title = "";
var titleSize = 0;
if (typeof obj.title !== 'undefined' && obj.title != "") {
title = `<h3>${obj.title}</h3>`;
titleSize = 40;
}
//弹出
var open = layer.open({
type: 1,
title: false,
closeBtn: 0,
offset: 'b',
anim: 'slideUp', // 从下往上
area: ['100%', titleSize + btnCloseSize + 55 * obj.content.length + 'px'],
shade: 0.1,
shadeClose: obj.shadeClose, // 是否点击遮罩关闭
id: obj.id || '',
content:
`<div class="jmSheet ${obj.addClass || ''}">
${title}
<ul>${html}</ul>
${btnClose}
</div>`
});
//关闭
$(`#layui-layer${open} .jmSheet .close`).on("click", function () {
layer.close(open);
})
//点击列表
$(`#layui-layer${open} .jmSheet`).on("click", "li", function () {
obj.callback($(this).index(), this, obj.content[$(this).index()]);
})
}
}
exports('jmSheet', jmSheet); // 输出模块
}).link(layui.cache.base+"jmSheet/jmSheet.css?v="+(new Date).getTime());