javascript - 使用 localStorage() 在模态上保存 "closed"状态,因此它不会再次显示给该用户

标签 javascript jquery local-storage

我有一个弹出模式,我在加载时加载到我的页面上,我想在它关闭后不再为该用户显示。我用 localStorage(); 做过类​​似的事情,但出于某种原因无法弄清楚使这项工作起作用的语法。

我尝试了一个设置类的解决方案,但在刷新时它将重新加载原始元素,所以现在我正在尝试这个想法,我将模态的状态更改为“已访问”。有什么想法可以让我以我希望的方式工作吗?

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 也实现了代码,感谢您的帮助!

最佳答案

您的 javascript 代码是正确的。幸好你添加了一个 jsfiddle,因为问题变得很容易识别 - 模式的样式设置为始终可见。只需将 .projects-takeover 类中的 display 属性更改为 nonе 即可,它应该可以工作。查看更新的 fiddle

关于javascript - 使用 localStorage() 在模态上保存 "closed"状态,因此它不会再次显示给该用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917788/

相关文章:

html - HTML5 localStorage 的替代品

javascript - 单击变量 id 的下拉菜单

javascript - 多个延迟加载实例 | Javascript

javascript - 异常缓慢的 Javascript 循环

javascript - 本地存储的更改未触发事件监听器

javascript - 如何本地存储包含 div 的变量并恢复它

javascript - 将 className 设置为映射元素中的特定状态

javascript - jQuery 检查电子邮件地址是否是数组元素中字符串的一部分

javascript - 如何从 buildSelect 将选择选项作为对象返回

javascript - 使用 javascript 函数打印出动态 html 表(jquery 数据表插件)