我想在回调后添加计时器 Sweetalert2 中的另一个函数。在示例中,只需在运行时添加计时器swal
即可。
这是基本代码:
swal({
title: 'alert!',
text: 'I need this close after my function',
})
下面是ajax
,我需要swal
在成功后关闭second
ajax
$.ajax({
dataType: "json",
url: url,
type: "GET",
data: {some: data},
success: function (json) {
if (json.status === 'OK') {
swal({
timer:2000
});
}
}
});
但是当ajax
成功时,swal()
的新模态用计时器打开,而不是关闭当前swal()
隐藏 ajax 成功的当前模态。试试这个
$.ajax({
dataType: "json",
url: url,
type: "GET",
data: {some: data},
success: function (json) {
if (json.status === 'OK') {
hideSwal()
}
}});
function hideSwal(){
setTimeout(function(){
var button = document.getElementsByClassName('swal2-confirm')[0]
button.click()
},2000)
}
setTimeout(function(){
var button = document.getElementsByClassName('swal2-confirm')[0]
button.click()
},2000)
swal('Any fool can use a computer')
<script src="https://cdn.jsdelivr.net/sweetalert2/6.6.0/sweetalert2.min.js"></script>
这是由
Gaurav Chaudhary的回答所激发的。ID 使用标准修改了 swal 文档。我发布这个是因为他不接受我的编辑。
//if(swal.isVisible()) { // uncomment to check if modal swal visible
setTimeout(function(){
swal.closeModal();
}, 2000);
//}
swal('Any fool can use a computer')
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/sweetalert2/6.6.0/sweetalert2.min.css">
<script src="https://cdn.jsdelivr.net/sweetalert2/6.6.0/sweetalert2.min.js"></script>