0

尝试在线搜索此问题的答案,但我什至不确定从哪里开始,所以我希望这里有人可以帮助我。基本上,我有一个页面,它只是 div 标签内的链接集合。我想做的是为 div 调用 .click 警报,单击该警报时,该警报将显示最后一次单击特定链接的日期,而不是仅显示今天日期的 .getDate。我是否需要设置一个新变量来获取每次单击链接时的日期,然后在警报中显示该变量?我不知道这是否可以做到,因为我对 jQuery 还是比较陌生,所以任何帮助都将不胜感激。

4

1 回答 1

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));
}

使用第一个点击事件来存储 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 在 A 再次点击时(在时间 X 和 Y 之后)点击时间 Y,他将获得时间 X,因为这是他唯一可以阅读的时间。

来源

我尽量让饼干更耐用。

于 2013-04-07T22:21:10.457 回答