使用localStorage()保存一个"closed"State on modal这样它就不会再显
Using localStorage() to save a "closed" state on modal so it doesn't show for that user again
我有一个弹出式模态,我正在加载我的页面上,我想使它一旦关闭,不显示再次为该用户。我在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,因为问题变得非常容易识别-模态的样式设置在这样一种方式,它总是可见的。只需将display
属性更改为.projects-takeover
类中的nonе
,就可以工作了。查看更新后的fiddle
试试这个->
$(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;
});
相关文章:
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- ngSubmit在modal中不工作
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- Jquery Modal表单登录与AJAX-ASP经典上的IE 9