Как показывать попап только 2 раза с разницей в 3 минуты?

всем программерам JavaScript! Я новичок и интересует такой вопрос: У меня на сайте срабатывает функция mouseleave (когда посетитель уводит курсор вверх со страницы), а внутри лежит код который активирует попап. Мне нужно, чтобы этот код срабатывал только 2 раза: первый как и сейчас, а второй только через 3 минуты - то есть если посетитель увёл мышь вверх, увидел попап, закрыл его, то в ближайшие 3 минуты, если он будет уводить мышку вверх попап не будет всплывать. Перебровала кучу способов и вариантов, но видимо что-то делаю не так((( Подскажите что делать? Вот мой изначальный код:

$(document).mouseleave(function(e){
  if (e.clientY < 0) {
    $("#staypopup").addClass("show");
  }
})

Ответы (3 шт):

Автор решения: OPTIMUS PRIME

new Date().getTime() возвращает количество миллисекунд, прошедших с 1-го января 1970. Ну и три минуты в миллисекундах - 180000 :

var lastPop = 0;
var count = 0;

$(document).on('mouseleave', popup);

function popup(e){
  var now = new Date().getTime();
  var left_3min = 10000 < ( now - lastPop );
  
  console.log(now - lastPop);
  
  if (e.clientY < 0 && left_3min) {
    $("#staypopup").addClass("show");
    lastPop = now;
    
    if( ++count == 2 )
      $(document).off('mouseleave', popup);
  }
}
#staypopup { display: none; }
#staypopup.show { display: block; padding: 50px; background: orange; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="staypopup" onclick="this.classList.remove('show')">Закрыть</div>

→ Ссылка
Автор решения: Алёна Чащина

@OPTIMUS PRIME Добрый день! Пришли к выводу, что код должен срабатывать только если это новый посетитель. То есть должна быть проверка куки - но с этим у меня опыта совсем нет. Попробовала по нескольким примерам доработать - но безуспешно. Помогите плиз!

→ Ссылка
Автор решения: Qwertiy

Как-то так:

$(document).on('mouseleave.show-staypopup', function (e) {
  if (e.clientY < 0) {
    $("#staypopup").addClass("show")
    $(document).off('mouseleave.show-staypopup')

    setTimeout(function () {
      $(document).on('mouseleave.show-staypopup', function (e) {
        if (e.clientY < 0) {
          $("#staypopup").addClass("show");
          $(document).off('mouseleave.show-staypopup')
        }
      })
    }, 180000)
  }
})
→ Ссылка