layui打开对话框无效,遮罩层无法关闭

在使用layui库的layer.open方法弹出模态框时,如果通过代码多次调用同一模态框,会出现layui-layer-shade层无法关闭导致页面灰色。解决方法是通过setTimeout延迟调用来避免该问题,例如:layer.closeAll()后延迟500毫秒调用result(),这样可以确保模态框正常显示而不会残留灰色背景。
摘要由CSDN通过智能技术生成

使用www.layui.com的open方法。

例如这种场景。

     <div id="result">
        <img src="nowin.png">
     </div>

<script>

function  result(){

               layer.open({
                  type: 1,
                  title: false,
                  closeBtn: 0,
                  area:  ['842px', '440px'],
                  skin: 'layui-layer-nobg', //没有背景色
                  shadeClose: true,
                  content: $('#result')
               });

}

</script>

如果你先打开一次对话框调用result()方法,模态框会正确弹出来。点遮罩部位也能正常关闭对话框。

但是你业务动作需要你通过代码的方式再次调用这个result。

例如,你先调用了reuslt方法,再执行下面的业务代码。

layer.closeAll();  //关闭所有弹出层

result();   //显示模态框

你会发现有个叫layui-layer-shade的div层关不掉,页面发灰!

解决方法:

延迟500毫秒后再调用reuslt,就解决问题。

layer.closeAll();

setTimeout( 'result()', 500);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值