88 lines
2.9 KiB
JavaScript
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()); |