jQuery .click警报

时间:2013-04-07 21:38:20

标签: jquery

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

1 个答案:

答案 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,因为他是唯一一次可以阅读。

SOURCE

我试图让cookie更耐用。