Откройте всплывающее окно и закройте его автоматически через несколько секунд, используя Javascript setTimeout / setInterval - PullRequest
0 голосов
/ 23 июня 2018

Я создал функцию вызова ajax после успешного добавления addtocart.

Мне нужно открывать собственное всплывающее окно каждые 4 секунды после добавления и закрывать его через 4 секунды.

Но также мне нужно очистить интервал после закрытия всплывающего окна.

В пользовательской функции ajax success содержится,

var id = setTimeout(timer, 5000);
 function timer() {
   alert(1);
   $("#qty-popup").show();
    setInterval(function () {
       $("#qty-popup").hide();
    }, 5000);
  clearInterval(id);
   }

Но это не работает. Как это сделать (очистить интервал)?

1 Ответ

0 голосов
/ 23 июня 2018

Для всплывающего окна необходимо иметь событие onClose:

var id = setTimeout(timer, 5000);
function timer() {
    $("#qty-popup").toggle();       
}

Для AJAX:

$.ajax({
  url: 'url'
  data: data,
  success: function(){ 
    clearInterval(id);
  },
  error: function(){
    clearInterval(id);
  }
});
...