我在我的网站顶部有一个栏,宣布公告(比如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小时/天。我很难过如何做到这一点。
由于
答案 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
并直接传递给它。