在使用 layer.open 方法弹出 Layer 弹窗时,通常情况下 Layer 会显示在当前视口的中央,而不会直接受到父元素高度的影响。但是,如果您希望自定义 Layer 弹窗的位置,以便它相对于某个特定父元素的高度进行定位,您可以使用 offset 参数来实现这一目标。
以下是一个示例,演示如何使用 layer.open 方法来传入自定义的父元素高度:
let url=$(this).attr('data-url')
let title=$(this).attr('data-title')
let height=$(this).attr('data-height')// 获取弹窗的高度
let width =$(this).attr('data-width')
let parentHeight=window.parent.innerHeight // 获取父元素的高度
// 设置 Layer 弹窗的位置偏移
let offset=(parentHeight - height) / 2
// 使用 Layer 弹窗
layer.open({
type: 2,
anim: 2, //0-6的动画形式,-1不开启
skin: 'layui-layer-nobg', //没有背景色
title: title,
offset:offset+'px',
closeBtn: 1,
shadeClose: true,
area: [width, height],
content: url//iframe的url
});
在上面的示例中,我们首先获取了父元素的高度,然后计算了 Layer 弹窗的垂直偏移量 layerOffset,使其显示在父元素的中央位置。最后,我们将 layerOffset 应用到 offset 参数中,以实现自定义位置的 Layer 弹窗。
请确保替换示例中的 parentElement 和其他参数以适应您的实际需求。这个示例仅提供了一个基本的框架来实现自定义位置的 Layer 弹窗。