layer.open 传入自定义的父元素高度

在使用 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 弹窗。

你可能感兴趣的:(javascript,layui)