我提到this thread得到一个透明的div来显示网站上的内容的顶部,并在其上点击时,它消失了......叠加透明的div一次点击
然而,当有人访问内页该网站,他们点击主页按钮,他们再次显示透明的div ... 有没有办法让div只出现一次,关闭它之后不再出现?
我提到this thread得到一个透明的div来显示网站上的内容的顶部,并在其上点击时,它消失了......叠加透明的div一次点击
然而,当有人访问内页该网站,他们点击主页按钮,他们再次显示透明的div ... 有没有办法让div只出现一次,关闭它之后不再出现?
最好的办法是设置一个cookie。通过这种方式,您可以永久隐藏它,或在指定的时间内隐藏它。
document.cookie = "transparentdivShow = false";
现在你可以检查,如果这个cookie存在,如果是这样,不显示在div:
if(document.cookie.indexOf("transparentDivShow") >= 0) {
return true; // Don't show it
} else {
return false; // Show the div
}
我从来没有设置cookie之前...我的div id是#overlay ...我将如何实现您提供的示例代码? document.cookie =“#overlayShow = false”; (document.cookie.indexOf(“#overlayShow”)> = 0){ return true; //不显示 } else else { return false; //显示div } – Cherubrock74
正如上面提到的海报,你可以使用一个Cookie。或者,您可以使用HTML5本地存储!本地存储允许数据在本地存储在用户的浏览器中。
在这种情况下,您可以拥有类似clickcounter的东西来计算clickcounter是否大于1.如果它大于1,则为div赋予一个隐藏属性或仅删除它。
if (sessionStorage.clickcounter) {
<div hidden> You can't see me. I'm invisible. </div>
} else {
sessionStorage.clickcounter = 1;
<div visible> Hi! I'm not transparent. </div>
}
我希望这可以帮助。这里有一个包含更多信息的页面! http://www.w3schools.com/html/html5_webstorage.asp
非常感谢您的回复!你认为我可以使用cookies和html5吗?如果有人禁用了cookie,html5仍然可以完成这项工作...... – Cherubrock74
如果您没有启用cookie,您可以使用本地存储作为回退。在那种情况下,你可以。之所以选择本地存储以上的Cookie,是因为Cookie可能有失效日期,因此您可以在定义的时间后重新显示该消息。 –
的确如此。 Cookie过期时间可能非常有用,贾斯珀说得对。 JavaScript使得设置和读取cookies非常容易,所以它应该很麻烦。 http://www.w3schools.com/js/js_cookies.asp 是的,你可以使用html5和cookie与html5作为后备。这将工作得很好。 – crepuscularCoder
[Cookies](https://stackoverflow.com/questions/4825683/how-do-i-create-and-read-a-value-from-cookie)或[localStorage](https:// stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage) – Hatchet