Cookie添加按钮命中

时间:2012-04-27 17:25:24

标签: javascript jquery cookies javascript-events onclick

我在添加Cookie时遇到问题。阅读几个答案,但如果你以前从未与他们合作过,那就很难理解了。

我基本上想要的是在有人点击指定按钮时添加cookie。因此,例如,如果有人点击“喜欢按钮”,隐藏的内容将被显示,无论他是前进/后退还是刷新页面,并且cookie将在几天后删除。

我曾经隐藏的内容如下:

HTML:

<div id="fd">
    <p>Button from below will become active once you hit like button!</p>
    <div id="get-it">
        <a class="button"><img src="img/get-button.png"></a>
    </div>
</div>
<div id='feedback' style='display:none'></div>

的javascript:

FB.Event.subscribe('edge.create', function (response) {
    $('#feedback').fadeIn().html('<p>Thank you. You may proceed now!</p><br/><div id="get-it"><a class="button2" href="pick.html"><img src="img/get-button.png"></a></div>');
    $('#fd').fadeOut();
});

但是,如果我点击刷新或在内容页面上返回/前进,它将再次被隐藏。这就是我想在按钮点击时添加cookie的原因。谁可以给我一些解释或示例代码?谢谢。

2 个答案:

答案 0 :(得分:13)

我建议使用jQuery-cookie plugin。以下是一些用法示例:

// Create a cookie
$.cookie('the_cookie', 'the_value');

// Create expiring cookie, 7 days from then:
$.cookie('the_cookie', 'the_value', { expires: 7 });

// Read a cookie
$.cookie('the_cookie'); // => 'the_value'
$.cookie('not_existing'); // => null

// EDIT
// Attaching to a button click (jQuery 1.7+) and set cookie
$("#idOfYourButton").on("click", function () {
    $.cookie('the_cookie', 'the_value', { expires: 7 });
});

// Attaching to a button click (jQuery < 1.7) and set cookie
$("#idOfYourButton").click(function () {
    $.cookie('the_cookie', 'the_value', { expires: 7 });
});

答案 1 :(得分:3)

我建议您使用localStorage

,而不是Cookie