尝试在线搜索这个问题的答案,但我真的不确定从哪里开始,所以我希望有人可以帮助我。基本上,我有一个页面只是div标签内的链接集合。我想要做的是为div调用.click警报,当点击时,警报将显示特定链接被点击的最后时间的日期,而不是今天的日期.getDate。我是否需要设置一个新变量,每次单击链接时都会获取日期,然后在警报中显示该变量?我不知道这是否甚至可以做到,因为我仍然相对较新的jQuery,所以任何帮助都将非常感激。
答案 0 :(得分:0)
使用这种方式存储这类信息真的,真的,这并不是一个坏习惯,但如果你想这样做,你应该创建这两个函数:
function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 1000000000000);
document.cookie = cookieName+"="+escape(cookieValue)
+ ";expires="+expire.toGMTString();
}
和
function ReadCookie(cookieName) {
var theCookie=" "+document.cookie;
var ind=theCookie.indexOf(" "+cookieName+"=");
if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"=");
if (ind==-1 || cookieName=="") return "";
var ind1=theCookie.indexOf(";",ind+1);
if (ind1==-1) ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+2,ind1));
}
使用click事件中的第一个来存储cookie并点击它。
$("#linkId").click(function(){
currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var hours = currentTime.getHours();
var mins = currentTime.getMinutes();
var secs = currentTime.getSeconds();
SetCookie("lastClick",hours + ":"+mins+":"+secs+" - "+day + "/" + month + "/" + year);
});
和第二个显示最后点击:
$("#divId").click(function(){
alert(ReadCookie("lastClick"));
});
正如我所说,这有点不稳定,因为它取决于客户的cookie,每次只能为一个人工作。我说如果A点击时间X和B点击时间Y再次A点击(在时间X和Y之后)他会得到时间X,因为他是唯一一次可以阅读。
我试图让cookie更耐用。