|
|
Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии Скрытие блока и запоминание действия на куки |
Скрытие блока и запоминание действия на куки |
|
Был на этом сайте, с куками кое как, но разобрался, мне не понятно, как это все взаимодействует со скриптом
Сообщение отредактировал BeRRy4655 - Среда, 25 Фев 2015, 12:14:14
|
|
|
Вот допустим куки
Код function setCookie(name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else var expires = ""; document.cookie = name + "=" + value + expires + "; path=/"; } function getCookie(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; } function eraseCookie(name) { setCookie(name, "", -1); }; Допустим скрипт Код $(document).ready(function() { $(window).scroll(function() { $('#block').animate({top:$(window).scrollTop()+"px" },{queue: false};); };); $('#close_block').click(function() { $('#block').animate({ top:"-=40px",opacity:0 }, "slow"); };); };); Как их вместе то связать, чтобы блок закрывался с запоминанием на куки? Сообщение отредактировал WasaBeS - Четверг, 05 Мар 2015, 15:30:56
|
Код function setCookie(name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else var expires = ""; document.cookie = name + "=" + value + expires + "; path=/"; } function getCookie(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; } function eraseCookie(name) { setCookie(name, "", -1); }; $(document).ready(function() { $(window).scroll(function() { $('#block').animate({top:$(window).scrollTop()+"px" },{queue: false}); }); $('#close_block').click(function() { $('#block').animate({ top:"-=40px",opacity:0 }, "slow"); setCookie('blockhiden', 1, 30); }); if (getCookie('blockhiden')) { if (getCookie('blockhiden') == 1) { $('#block').animate({ top:"-=40px",opacity:0 }, "slow"); } } }); setCookie('blockhiden', 1, 30); - запоминается cookie с именем blockhiden и значением 1 на 30 дней. |
$Tiny$,
Цитата $;;;Tiny$;1247963 значением 1 на 30 дней. Не на 30 дней, а навсегда возможно изменить? И вообще, что это значит? Да, кстати, с адресами страниц такое возможно будет проделать, т.е. если пользователь скажем вышел со страницы контактов, то при входи на сайт повторно он туда же и попадет? Сообщение отредактировал WasaBeS - Пятница, 06 Мар 2015, 21:16:18
|
Вы точно читали, что по ссылке написано? Есть определенная дата для каждого cookie, через который он удален браузером будет. Вот мы и говорим ему, что через 30 дней неактуальны наши будут и он сможет их удалить. Зачем вам "навсегда"? Через несколько лет у пользователя даже система-то стоять не будет та же, не то, что браузер. Да и забудет пользователь, что побывал на сайте вашем.
Лично у меня нет идеи как отличить переход на другую страницу от просто захода на нее. Сообщение отредактировал $Tiny$ - Суббота, 07 Мар 2015, 09:59:51
|
|
| |||
| |||