仅在点击时设置 cookie 并隐藏消息

Set cookie only when onclick and hide the message

我正在尝试在页面上设置 cookie 消息。我想要的是当 cookie 不存在时,显示消息。当用户点击 "I Accept" 按钮时,cookie 被设置。并且当用户 returns 到 page/website.

时不再显示该消息

但它现在做的是当用户访问我们页面时立即设置cookie。

$(document).ready(function() {


    var visit=GetCookie("AMIR86");
    if (visit==null){
        cookiebar();
    }
    var expire=new Date();
    expire=new Date(expire.getTime()+7776000000);
    document.cookie="AMIR86=here; expires="+expire;


    $('#close-cookies').click(function(){ 
        $('#cookiebar').addClass('close-cookies');
    });

});

function GetCookie(name) {
    var arg=name+"=";
    var arglen=arg.length;
    var dclen=document.cookie.length;
    var i=0;

    while (i<dclen) {
        var j=i+arglen;
            if (document.cookie.substring(i,j)==arg)
                return "here";
                i=document.cookie.indexOf(" ",i)+1;
            if (i==0) 
                break;
    }
    return null;
}

function cookiebar() {
    $('#cookiebar').addClass('display');
}

我的工作 jsfiddle:http://goo.gl/61aLuS

这段代码设置了 cookie。为了可读性和简洁的编码实践,将其移至其自己的函数中。

function setAgreeCookie() {
    var expire=new Date();
    expire=new Date(expire.getTime()+7776000000);
    document.cookie="AMIR86=here; expires="+expire;
}

然后,在 "I agree" 按钮上设置一个 click 处理程序来设置 cookie。

$('#close-cookies').click(function(){ 
    setAgreeCookie();
    $('#cookiebar').addClass('close-cookies');
});