目录
1.【推荐】直接使用 parent.layer.open 替代 layer.open
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 希望对你有帮助! ^.^