Как добавить таймер после открытия sweetalert2?

Я хочу добавить таймер после обратного вызова другой функции в 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()


person totoprayogo1916    schedule 10.04.2017    source источник
comment
предоставьте строки кода, которые вы написали   -  person Gaurav Chaudhary    schedule 10.04.2017
comment
Я закончил с кодом   -  person totoprayogo1916    schedule 10.04.2017
comment
Конечно, он откроет новое модальное окно, так как вы снова используете функцию swal().   -  person Gaurav Chaudhary    schedule 10.04.2017
comment
любая идея для этого?   -  person totoprayogo1916    schedule 10.04.2017
comment
обновил мой ответ. Проверьте, работает ли это для вас   -  person Gaurav Chaudhary    schedule 10.04.2017
comment
спасибо :) это мне очень помогло, я отредактировал ваш ответ.   -  person totoprayogo1916    schedule 10.04.2017


Ответы (2)


Чтобы скрыть текущее модальное окно при успешном выполнении 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>

person Gaurav Chaudhary    schedule 10.04.2017
comment
спасибо за ваш ответ, но мне нужно после некоторого function с ajax и успехом, swal() закрыть по таймеру .. - person totoprayogo1916; 10.04.2017

Это вдохновлено ответом Гаурава Чаудхари. Идентификатор изменен в соответствии со стандартом swal doc. Я публикую это, потому что он не принимает мое редактирование.

//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>

person totoprayogo1916    schedule 12.04.2017