0

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

我认为这将是一件相当容易的事情,但我对 jQuery 和 cookie 还很陌生,尤其是我现在真的很挣扎。

我想做的是:

  1. 设置一个记录访问的cookie
  2. 将一个 div 切换为另一个(在这种情况下,将粘性栏更改为具有不同内容的不同粘性栏)
  3. 为回访者保留新内容 x 时间(如果我能指定确切的时间,那就更好了)

当前代码如下所示:

$(function() {
    if(!$.cookie('repeatVisitor')) {
        $.cookie("repeatVisitor", "true", { expires: 3 }); //expires in 3 days
        setTimeout('showDivTwo();', 3000);    
    }
})

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

我真的很感激一些帮助,我急需!

4

1 回答 1

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();
}
于 2012-09-26T08:47:47.580 回答