我在我的网站上显示一个div,我想只显示该用户访问过我网站的5次。因此,经过5次,它不再显示div了。
我可以用cookies做。但我只熟悉PHP。 Javascript不是我强大的一面。
是否有任何人只需要一小段代码来设置cookie,每次访问都会增加它,如果值大于5,那么不再显示DIV了吗?
由于
答案 0 :(得分:0)
Quirksmode has an article discussing cookies,其中还包括三个非常方便的辅助函数(向下滚动到底部)。阅读文章,无论如何都会变得清晰。
请记住,所有信息都存储为字符串,因此它将作为字符串进行检索。因此,在对数据执行任何操作之前,您肯定应该做一些手动类型的杂耍。见这里:
var x = 1;
createCookie("myVar", x);
var newX = readCookie("myVar") + 1;
alert(newX); // "11"
// --- instead, do this: ---
var newX = parseInt(readCookie("myVar"), 10) + 1;
答案 1 :(得分:0)
没有人会有你要求的那段代码,但从这两个必要的功能开始,你应该很容易自己编写代码:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length,c.length);
}
return null;
}
答案 2 :(得分:0)
假设您在Cookie中有变量访问,您主要使用与此类似的内容
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
var visits = getCookie("visits_number");
if (visists > 5)
document.getElementById("your_div_name").setAttribute("style", "visibility: hidde");