2012-07-28 71 views
1

今天我決定更好地理解cookie。最簡單的方法似乎是jQuery。我用carhartl的Cookie plugin使用Cookie和jQuery

這是fiddle

基本上,我想要的是:當用戶點擊'X'時,彈出窗口關閉(工作正常)並寫入cookie,以便下一次該用戶點擊該頁面時,他看不到再次彈出!

function showPopUp() { 
    var popUpMT = -($("#popUp").height()/2) - 50; 
    $("#popUp").css("marginTop", popUpMT).fadeIn("slow"); 
    $("#overlay").fadeIn("fast"); 
} 

function setCookie() { 
    $("#popUp").fadeOut("fast"); 
    $("#overlay").fadeOut("fast"); 
    $.cookie("popUpCookie", { 
     expires: 365 
    }); 
} 

$(document).ready(function() { 
    var ourCookie = $.cookie("popUpCookie"); 
    if (ourCookie === null) { 
     showPopUp(); 
    } 

    $("#popUp span#close").click(function() { 
     setCookie(); 
    }); 
}); 

回答

1

在你setCookie功能,增加一些價值作爲第二個參數如圖所示documentation

$.cookie("popUpCookie", "true", { expires: 365}); 

在你的小提琴中,你只能通過名字和設置對象。除了它應該工作,併爲我在this update

+0

謝謝!我不知道價值是強制性的。另外+1更邏輯的功能順序! – 2012-07-28 15:39:24

+1

參見[cookie插件的第24行](https://github.com/carhartl/jquery-cookie/blob/2e12796f574f0d842aa1025d38b04111852ae074/jquery.cookie.js#L24)。只有給出'value'參數而不是對象時,纔會執行設置cookie的代碼。 – Wolfram 2012-07-28 15:43:29