设置一个cookie,然后用另一个div替换div

时间:2012-09-26 08:33:56

标签: javascript jquery session cookies

我遇到了一个问题,我正在尝试使用Carhartl的jQuery插件:https://github.com/carhartl/jquery-cookie

我认为这是一件相当容易的事情,但我对jQuery和cookies相当陌生,而且我现在真的很挣扎。

我想做的是:

  1. 设置一个注册访问的cookie
  2. 将一个div切换为另一个div(在这种情况下,更改不同内容的不同粘性条的粘性条)
  3. 为返回的访问者保留新内容x适当的时间(如果我可以指定确切的时间,则更好)
  4. 当前代码如下所示:

    $(function() {
        if(!$.cookie('repeatVisitor')) {
            $.cookie("repeatVisitor", "true", { expires: 3 }); //expires in 3 days
            setTimeout('showDivTwo();', 3000);    
        }
    })
    
    function showDivTwo() {
        $('#sticky-bar').fadeOut();
        $('#sticky-private').fadeIn();
    }
    

    我真的很感激一些帮助,我迫切需要帮助!

1 个答案:

答案 0 :(得分:1)

您的Cookie插件使用情况看起来是正确的;所有代码都是如此。我认为这可能是一个逻辑问题。

您的代码将在第一次之后永远不会显示私人div。

您可以进行此调整,但请注意,如果您这样做,您将始终看到私人div。

似乎缺少的是用户触发cookie所需采取的特定操作,而不仅仅是cookie的缺失:

$(function() {
    if(!$.cookie('repeatVisitor')) {
        // if the user is not a repeat visitor, set the cookie
        $.cookie("repeatVisitor", "true", { expires: 3 }); //expires in 3 days
    }

    if ($.cookie('repeatVisitor')) {
        // if the cookie exists, show the custom div
        setTimeout('showDivTwo();', 3000);
    }
})

function showDivTwo() {
    $('#sticky-bar').fadeOut();
    $('#sticky-private').fadeIn();
}