公告栏,设置一个cookie

时间:2010-12-06 11:42:06

标签: jquery html cookies

我在我的网站顶部有一个栏,宣布公告(比如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;
});

一切正常但我希望能够使用jquery cookie插件设置cookie,因此当用户关闭栏时,它将不再显示x小时/天。我很难过如何做到这一点。

由于

1 个答案:

答案 0 :(得分:5)

假设你想隐藏它7天,它看起来像这样:

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

这里我们检查cookie是否最初设置为任何非空字符串,如果是,则根本不淡化该栏。在点击处理程序中,我们将相同的'hideTopBar' Cookie设置为任何非空的strying,'true'也可以是其他任何内容...并使用expires选项7天

expires需要几天时间(可能是一小部分!,例如1/24一小时),因为这是最常见的...如果你想要一个不同的到期日期,你也可以计算自己Date并直接传递给它。