使用localStorage()来保存"关闭"模态上的状态,因此它不会再次为该用户显示

时间:2016-10-07 12:52:40

标签: javascript jquery local-storage

我有一个弹出式模式,我正在加载我的页面,我希望它一旦关闭,不再显示该用户。我已经使用localStorage();做了类似的事情,但由于某种原因无法找出使其发挥作用的语法。

我尝试了一个设置类的解决方案,但是在刷新时它将重新加载原始元素,所以现在我正在尝试这个想法,我将模态的状态更改为" visited"。任何想法,我可能会错过,让我的工作方式与我希望的相同?

localStorage功能:

$(function() {

    if (localStorage) {
        if (!localStorage.getItem('visited')) { 
            $('.projects-takeover').show(); 
        }
    } else { 
        $('.projects-takeover').show();
    }

    $('.projects-close').click(function() {
            $('.projects-takeover').fadeOut();
    });
        localStorage.setItem('visited', true);
        return false;
    });

这是一个 jsfiddle ,代码也已实现,感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

你的javascript代码是正确的。你添加一个jsfiddle是件好事,因为问题变得非常容易识别 - 模态的风格设置使它始终可见。只需将display类中的nonе属性更改为.projects-takeover即可。查看更新后的fiddle

答案 1 :(得分:0)

试试这个 - >

$(function() {
  var pt = $('.projects-takeover'); //i just hate repeating myself.
  if (localStorage) {
    if (!localStorage.getItem('visited')) { 
        pt.show(); 
    } else {
        pt.hide(); //this bit was missing
    }
  } else { 
    pt.show();
  }

  $('.projects-close').click(function() {
        pt.fadeOut();
  });
  localStorage.setItem('visited', true);
  return false;
});