layer弹出层在数据多(或者子页面)的时候不显示问题

  • Post author:
  • Post category:其他



目录


1.问题的出现


2.解决办法


1.【推荐】直接使用 parent.layer.open 替代 layer.open


2.修改样式


2.1.直接固定在中间 也就是定义弹出层的时候定义一个类


2.2.success – 层弹出后的成功回调方法中修改


1.问题的出现

我刚处理玩 我遇到的情况是这样的  我是弹出层里面一个表格 然后表格里的操作按钮在数据多的时候候 点击按钮弹出层就不显示了

定位元素后发现是 top left 属性太大 导致这个弹出层已经超出父级弹出层(可能是父级弹出层的原因吧 导致他计算错了left 和 top 的属性值)

2.解决办法

1.【推荐】直接使用 parent.layer.open 替代 layer.open

参考博客:


在子页面使用layer弹出层时只显示遮罩层,不显示弹出框问题 – Amaris_Lin – 博客园

2.修改样式


2.1.直接固定在中间 也就是定义弹出层的时候定义一个类

弹出层


layer.open({


type: 1,

shade: 0.1,//阴影

skin: ‘demo-class’,//样式 用于修改弹出层位置

})

然后在样式上设置


body .demo-class {


top:50% !important;

left:50% !important;

}


缺点:因为是直接覆盖样式  弹出层不能拖动





需要拖动的参考第二种方法:弹出完成后回调修改样式


2.2.success – 层弹出后的成功回调方法中修改


//css 无需设置

//body .demo-class {}

弹出层


layer.open({


type: 1,

shade: 0.1,//阴影

skin: ‘demo-class’,//样式 用于修改弹出层位置

content: ‘测试回调’,

success: function(layero, index){


// 在这里修改弹出层的样式

$(‘body .demo-class’).css({ “top”: “50%”, “left”: “50%” });

}

});


end 希望对你有帮助! ^.^



版权声明:本文为qq_37232323原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。