Панель объявлений, настройка cookie - PullRequest
4 голосов
/ 06 декабря 2010

В верхней части моего сайта есть панель объявлений (например, как это делает stackoverflow с новыми значками и т. Д.).Код, который я использую, выглядит следующим образом:

html

<div id="announcement_popup" title="Special Announcement" style="display:none;">
    <h3>Announcement</h3>
    <a href="#" id="closeit">Close</a>
</div>

jquery

$("#announcement_popup").fadeIn("slow");
$("a#closeit").click(function() {
    $("#announcement_popup").fadeOut("slow");
    return false;
});

Все работает нормально, но я хотел бы иметь возможность установитьcookie с помощью плагина jquery cookie, поэтому, когда пользователь закрывает панель, он не будет отображаться снова в течение x часов / дней.Я поставлен в тупик, как это сделать.

Спасибо

1 Ответ

5 голосов
/ 06 декабря 2010

Допустим, вы хотели скрыть это в течение 7 дней, это выглядело бы так:

if(!$.cookie('hideTopBar')) $("#announcement_popup").fadeIn("slow");
$("a#closeit").click(function() {
    $.cookie('hideTopBar', 'true', { expires: 7 });
    $("#announcement_popup").fadeOut("slow");
    return false;
});

Здесь мы проверяем, не установлен ли cookie изначально для какой-либо непустой строки, если этотогда вообще не гаси бар.В обработчике кликов мы устанавливаем тот же файл cookie 'hideTopBar' для любого непустого элемента, 'true' может быть и другим ... и используя опцию expires в течение 7 дней.

expires занимает несколько дней (это может быть дробь; например, 1/24 в течение часа), так как это наиболее часто ... если вы хотите другую дату истечения срока действия, вы также можете рассчитать Date самостоятельно ипередать это напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...