2010-12-06 53 views
4

我在我的網站頂部有一個酒吧來宣佈公告(比如stackoverflow如何使用新徽章等)。我使用的代碼如下公告欄,設置cookie

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小時/天的數量。我難倒了如何做到這一點。

感謝

回答

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設置爲任何非空字符串最初我們正在檢查,如果是的話,根本不要褪色吧。在點擊處理程序中,我們將其設置爲與任何非空strying相同的'hideTopBar' cookie,'true'也可以是其他任何東西......並使用expires選項7天。

expires需要的天數(也可以是一小部分!例如1/24一個小時),因爲這是最常見的...如果你想有一個不同的到期日也可以計算出Date自己,並把它傳遞直。

+1

感謝您的詳細說明和代碼。效果很好 ! – Blackbird 2010-12-06 11:58:59