swal弹框出现的瞬间就消失,弹框套着弹框结果第一个弹框不消失,swal.close()失效
写完代码后发现弹框并没有预想的情况出现,但是仔细阅读代码后发现也没有问题,之后在浏览器调试模式下打断点,发现弹框弹出来了,但是执行完方法后又消失了,猜测大致原因可能是嵌套的swal太多了,出现了bug,可以让这个弹框延迟一会再执行,如果还没用的话可以加长时间再试试,如果一直不行的话可以改变一下代码写法,不要让嵌套太多层swal
setTimeout(function(){
swal("成功!", "", "success");
},300);
更新一下,有时如果代码里有ajax也会影响sawl的弹框,可以尝试下给sawl代码块加延迟。
还有加载框无法关闭的情况
swal({
title: "操作失败",
text: "${msg}",
type: "error",
html: true,
showCloseButton: true,
showCancelButton: true,
cancelButtonText: "取消",
confirmButtonText: "确认"
},
function (isConfirm) {
if (isConfirm) {
//如果点击确认
} else {
setTimeout(function(){
//关闭加载框
swal.close();
swal({title:"系统错误!",
type:"error"});
},100);
}
});