【发布时间】:2016-03-14 02:28:00
【问题描述】:
在这里,基本上,我想让客户在 30 天内只显示一次 div。如果不存在 cookie,则会显示 div,当单击时,div 会做一些与此处无关的事情,然后它会存储一些 cookie(例如客户端 IP)。如果 cookie 存在,尽管 div 会消失。我这里写了一些代码,可以的话看看,帮我解决问题。
<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>
<script>
var el = document.getElementsByClassName('popup');
if(!document.cookie) {
el.style.display = 'block';
setCookie("clientip", myip, 30);
} else {
el.style.display = 'none';
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
</script>
如何在此处为“弹出”设置侦听器?
顺便说一句,我发现第一个脚本非常酷,可以通过 JS 返回客户端 IP。
【问题讨论】:
-
这是一个div,在这里无关紧要。 @MitchKarajohn
-
@BillHicks,不是真的!
getElementsByClassName返回一个节点列表...array-like没有style属性的元素... -
不,我以为你问我那个 div 是做什么的。是的,我知道这是一个节点列表。嗯,那我该如何设计呢?
-
如果元素很多,那么
loop或者只使用像[0]这样的索引 -
@MitchKarajohn 我找到了解决方案,检查我的答案,谢谢。 :)
标签: javascript html dom cookies