2013-04-07 3 views
0

Пробовал искать в Интернете ответ на этот вопрос, но я даже не уверен, с чего начать, поэтому я надеюсь, что кто-то здесь может мне помочь. В принципе, у меня есть страница, представляющая собой просто набор ссылок внутри тегов div. То, что я хочу сделать, это вызвать предупреждение .click для разделов, где при нажатии на предупреждение будет отображаться дата последнего времени, на которое была нажата конкретная ссылка, а не только .getDate для сегодняшней даты. Нужно ли мне устанавливать новую переменную, которая принимает дату каждый раз, когда нажимается ссылка, а затем отображает эту переменную в сообщении? Я не знаю, можно ли это сделать, потому что я по-прежнему относительно новичок в jQuery, поэтому любая помощь будет очень признательна.jQuery .click alert

+1

последний раз щелкнул кто бы не щелкнул? –

+0

Ну, это своего рода спорный вопрос, потому что только один человек будет использовать эту конкретную страницу, но, в общем, да, в последний раз, когда кто-либо щелкнул бы, это сработает. –

+0

, тогда вам нужна база данных для сохранения последнего клика. Эта «база данных» может быть представлена ​​txt, но все, что вы хотите получить, если она связывает разных пользователей или одного пользователя в разное время, вам понадобятся серверные скрипты. –

ответ

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

Как я уже сказал, это немного нестабильна, потому что это зависит от печенья клиента, и он будет работать только для одного человека в единицу времени. Я говорю, что если A нажимает на время X и B, нажмите на время Y, когда A снова щелкнет (после времени X и Y) он получит время X, потому что это единственный раз, когда он может читать.

SOURCE

Я попытался сделать печенье более прочным, насколько это возможно.