Jquery - не показывать div (всплывающее окно) в течение недели после закрытия - PullRequest
0 голосов
/ 26 апреля 2018

Я создал это всплывающее окно с формой новостной рассылки, оно будет отображаться, когда прокручивается половина экрана, и при нажатии на X больше не будет отображаться.

Есть ли шанс, что я могу "сказать" jquery не показывать этот div в течение недели после его закрытия на "X", если кто-то снова откроет страницу?

https://www.centuryparklawgroup.com/popup-dev/

Вот код:

<script src="https://www.centuryparklawgroup.com/wp-content/themes/lawyers-attorneys-child/jquery1.11.3.js"></script>
<script>
  function checkShowDiv() {
  var top = $(window).scrollTop();
  if ($(window).scrollTop()  > $(window).height() / 2) {    
  $('.nslttppup:hidden').fadeIn('slow'); //prevent re-fades with :hidden
 }
else {
  $('.nslttppup').hide();
  }
}
$(window).scroll(checkShowDiv);
</script>

<script>
  $(document).ready(function() {
  $('.closeform').click(function() {
  $(window).unbind('scroll', checkShowDiv);
  $(this).closest('.nslttppup').hide('fast');
  return false;
  });
});
</script>

1 Ответ

0 голосов
/ 26 апреля 2018

вы можете просто использовать куки или локальное хранилище, пример ниже Я только что установил cookie при нажатии на кнопку «Закрыть», чтобы кукла не отображалась на свитке через 3 минуты (вы можете установить время истечения по количеству дней или дате)

Здесь я устанавливаю переменную showPopup на готовность, читая куки-файл, если он присутствует, и устанавливая значение «нет», чтобы ваше всплывающее окно не отображалось на свитке

поэтому ваш код должен выглядеть следующим образом (из-за безопасности фрагмента stackoverflow мы не можем сделать фрагмент здесь. См. Fiddle ДЛЯ всего кода)

Вот Fiddle (в этом примере срок действия файлов cookie истекает через 3 минуты) также я использую плагин jquery cookie

var showPopup = true;

function checkShowDiv() {
  var top = $(window).scrollTop();
  if(showPopup) {
    if ($(window).scrollTop() > $(window).height() / 2) {
      $('.nslttppup').fadeIn('slow');
    } else {
      $('.nslttppup').hide();
    }
  }
}


$(document).ready(function() {
  showCookieExist();
  $(window).scroll(checkShowDiv);
  $('.closeform').click(function() {
    $(window).unbind('scroll', checkShowDiv);
    $(this).closest('.nslttppup').hide('fast');
    $.cookie('showpopup','no');
    showPopup = false;
    return false;
  });
});

function showCookieExist() {
  console.log($.cookie('showpopup'));
  return $.cookie('showpopup');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...