Как отобразить окно Alert-info только один раз за сеанс без файлов cookie - PullRequest
0 голосов
/ 20 сентября 2019

Я создал окно информации о предупреждении в начальной загрузке 3 и смог создать, что оно исчезает через 10 секунд.Но я хочу, чтобы это поле показывалось только один раз в сеансе браузера (а не показывать на каждой странице перезагрузку, как сейчас).

Предпочитаю не использовать cookie, а вместо sessionStorage

Вот мой HTML-код:

    <div class="alert alert-info alert-success credits center" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h2>text </h2> text 2
                    <div class="row margin-t-10">
                 <div class="col-md-3 col-xs-5 col1 center-block">
                       <a href="#"><button class="button btn-success btn-block" > text 3<span style="font-size:17px;" aria-hidden="true"></span></button></a>
                    </div>
           </div>
    </div>

А вот мой код JS:

window.setTimeout(function() {
$(".alert-credit, .alert-info").fadeTo(1000, 0).slideUp(1000, function(){
    $(this).remove(); 
});
}, 9000);

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

1 Ответ

0 голосов
/ 20 сентября 2019

Вам просто нужно сохранить запись в sessionStorage, когда отображается предупреждение, и проверить, существует ли она, прежде чем показывать предупреждение:

if(sessionStorage.getItem('alertShown') === null){
  window.setTimeout(function() {
      $(".alert-credit, .alert-info").fadeTo(1000, 0).slideUp(1000, function(){
          sessionStorage.setItem('alertShown', 'true');
          $(this).remove(); 
      });   
  }, 9000);
}else{
    $(".alert-credit, .alert-info").remove();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...