Всплывающие окна отображаются только один раз на странице - PullRequest
2 голосов
/ 04 августа 2020

Кто-нибудь может мне помочь?

У меня есть всплывающее окно на странице, и я хочу, чтобы оно отображалось только один раз. У меня также есть другое всплывающее окно на другой странице с тем же кодом.

Как лучше всего сделать так, чтобы каждое всплывающее окно отображалось только один раз, но на своей странице?

$(document).ready(function() {
    if(localStorage.getItem('popupState') != 'shown'){
        $("#voucherForm").delay(10000).fadeIn();
        $("#signupcover").delay(10000).fadeIn();
        localStorage.setItem('popupState','shown');
    }
});

$("#popup-close").click(function() {
  $("#voucherForm").removeAttr( 'style' );
});

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Попробуйте вместо этого, используйте разные переменные для управления всплывающими окнами в зависимости от адреса нескольких страниц.

switch(location.href) {
   case page1:
     const isPop = locaStorage.getItem('page1');
     if(isPop) {
       popFormOfPage1.pop();
       locaStorage.setItem('page1', false);
     }
     break;
   case page2:
     // same case1
   default:
     // do something
}
0 голосов
/ 04 августа 2020

Используйте разные переменные локального хранилища, например localStorage.getItem ('popup1_State') и localStorage.getItem ('popup2_State')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...