user7336361
user7336361

Reputation:

how to display alert message only once?

This is my code to make when click close button then save at localStorage to don't display again:

$('#myAlert .close').on('click', function() {
    $('#myAlert').fadeOut(300);
    if (typeof localStorage !== 'undefined') {
        localStorage.setItem('alert-closed', true);
        localStorage.removeItem("hidden"); 
    }
}); 

The problem that I can't make it display only once, How can make this?

Upvotes: 1

Views: 551

Answers (1)

guest271314
guest271314

Reputation: 1

Rearrange if statements, check if localStorage is undefined, also if localStorage.getItem("alert-closed") is equal to null before attaching click event to element.

  $(function() {
    if (typeof localStorage !== undefined) {
      if (localStorage.getItem("alert-cosed") === null) {
        $('#myAlert .close').on('click', function() {
          $('#myAlert').fadeOut(300);    
          localStorage.setItem('alert-closed', true);
          localStorage.removeItem("hidden"); 
        }); 
      }
    } else {
        alert("`localStorage is `undefined`")
    }
  });

Upvotes: 1

Related Questions