使用Javascript设置cookie

使用Javascript设置cookie,javascript,cookies,Javascript,Cookies,我的js应用程序是一个降临节日历,用户可以在今天或之前打开“门”,因此div背景图像会发生变化 我想设置一个cookie,这样当他们第二天返回时,div仍然保留背景图像 我已经设置了cookie和door open代码,但我不确定如何将cookie集成到door open函数中。任何帮助都将不胜感激,非常感谢 应用程序链接: 门打开-从阵列中选择随机背景图像: $('.doors').click(function () { if (today.getMonth() !== 11) {

我的js应用程序是一个降临节日历,用户可以在今天或之前打开“门”,因此div背景图像会发生变化

我想设置一个cookie,这样当他们第二天返回时,div仍然保留背景图像

我已经设置了cookie和door open代码,但我不确定如何将cookie集成到door open函数中。任何帮助都将不胜感激,非常感谢

应用程序链接:

门打开-从阵列中选择随机背景图像:

$('.doors').click(function () {

    if (today.getMonth() !== 11) {

        return;
    }

    // Check if the date is tomorrow or later
    if (+($(this).attr('id').split('dec')[1]) > day) {

        // Show image telling user to come back
        $(this).css('background-image', 'url(/images/come_back.png)');

        return;
    }

    // Otherwise it is today or earlier

    // Select Random Image
    var doorImage = getRandomImage(calendarImg);

    // Change background image of door that was clicked
    $(this).css('background-image', doorImage);

});
饼干

//on document ready, checks if the cookie is set, and if so, sets the background with it's value
$(function(){
  if($.cookie('background-image') != null){
     $(this).css('background-image', $.cookie('background-image'));
  }
});

// Set cookie
$(function() {
  $(this).css('background-image', doorImage);
  $.cookie('background-image', doorImage);
 });

W3Schools
有一个很棒的关于cookies的新手教程

基本上,您要做的是将cookie值设置为创建cookie的日期,以及用户返回时您要设置的任何其他参数(例如背景图像的id)。然后,当用户进入您的站点时,您检查他们是否有cookie。如果有,请检查其日期参数。如果不是今天(使用
JavaScript
,这很容易检查),那么使用您的额外参数来设置您想要的任何背景

确保每当他们更改背景时,您都将cookie数据重置为当前背景

希望这有帮助

*


从您的代码中,我很难准确理解您想要实现的目标。另外,我正在查看您的网站,但没有看到任何保存的cookies。。试着从一个简单的例子开始,一扇门和一块饼干。然后做一个简单的检查,看看你的cookie是否工作,例如,当检测到cookie时,设置一个特定的背景,如果没有,则设置另一个背景。一旦成功管理cookie,您就可以开始将其变得更复杂,其中包含更多数据。

Elad-非常感谢您的建议,我已经尝试遵循了这些建议,但仍然无法正常工作,我不确定我做错了什么。我对javascript非常陌生-这是我第一次尝试使用cookie!我已经更新了上面的代码。我编辑了我的原始答案,以便更好地指导您使用cookies。如果我的答案让您找到正确的解决方案,我将非常感谢将其标记为正确答案。如果没有,让我来帮忙!谢谢:)