Javascript 使用cookie隐藏div的问题
我试图创建一个每月只弹出一次的div。在你点击它之后,我想要一个cookie来确保它不会再次出现 块消失了,但只要我刷新页面,div就会再次出现,所以cookie似乎不起作用 我做错了什么 以下是我正在使用的代码: HTML: 更新:Javascript 使用cookie隐藏div的问题,javascript,cookies,Javascript,Cookies,我试图创建一个每月只弹出一次的div。在你点击它之后,我想要一个cookie来确保它不会再次出现 块消失了,但只要我刷新页面,div就会再次出现,所以cookie似乎不起作用 我做错了什么 以下是我正在使用的代码: HTML: 更新: cookie正在安装中,因此问题显然与CheckCookies功能有关。这可能是jQuery与站点上的其他jQuery代码冲突吗?这里有两件事-您可能希望在默认情况下隐藏div,这样您就不会有一段短暂的时间显示然后消失 <div id="lightboxz"
cookie正在安装中,因此问题显然与
CheckCookies
功能有关。这可能是jQuery与站点上的其他jQuery代码冲突吗?这里有两件事-您可能希望在默认情况下隐藏div,这样您就不会有一段短暂的时间显示然后消失
<div id="lightboxz" class="lightbox"></div>
.lightbox { display: none; }
我要说的是,似乎localStorage
在这种情况下也能正常工作,并且可以避免使用cookie
function Mailsign(){
days=30;
myDate = new Date();
myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
localStorage.setItem('popup', myDate);
}
function CheckCookies(){
var today = new Date();
var showDate = new Date(localStorage.getItem('popup'));
if (!localStorage.getItem('popup') || today > showDate)
{
$("#lightboxz").show();
}
}
您是否在页面的某个位置包含jQuery?你在浏览器控制台中看到错误了吗?是的,我现在也这么想,由于cookie确实安装在我的浏览器上,所以我现在想知道如何解决这个问题。我希望div始终可见,直到有人使用上述代码单击关闭按钮,div结果才显示出来。我从来没有使用过Localstorage,所以我可能做得不对。不,它在@user2620358下工作。请看我添加的示例。我之前显然做了一些错误的事情,因为当我使用您的示例时(添加jquery后,没有冲突),效果非常好!非常感谢您的选择!一个小问题,如果我想再次看到它(出于测试目的),我该怎么做?@user2620358您可以只
localStorage.clear()
,或者如果您存储了其他东西localStorage.removietem('popup')
。
<div id="lightboxz" class="lightbox"></div>
.lightbox { display: none; }
$(document).ready(function () {
CheckCookies();
});
function Mailsign(){
days=30;
myDate = new Date();
myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
localStorage.setItem('popup', myDate);
}
function CheckCookies(){
var today = new Date();
var showDate = new Date(localStorage.getItem('popup'));
if (!localStorage.getItem('popup') || today > showDate)
{
$("#lightboxz").show();
}
}