我的js应用程序是一个降临日历,用户可以在今天或之前打开“门”,以便div背景图像发生变化。
我想设置一个cookie,所以当他们第二天返回时,div仍然会有背景图像。
我已经设置了cookie和门打开代码,但我不确定如何将cookie集成到门打开功能中。任何帮助将不胜感激,非常感谢。
链接到应用:http://p3.katecooperuk.com
门打开 - 从数组中选择随机背景图像:
$('.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);
});
答案 0 :(得分:-1)
W3Schools
有一个很棒的Cookie新手教程here
基本上,您要做的是将cookie值设置为创建日期以及用户返回时要设置的其他参数(例如背景图像的ID)。然后当用户输入时您检查自己的网站是否有cookie。如果是,请检查其日期参数。如果它不是今天(这很容易用JavaScript
检查),那么使用额外的参数来设置你想要的任何背景。
确保无论何时更改背景,您都可以将Cookie数据重置为当前背景。
希望这有帮助!
*
从您的代码中,我很难理解您正在尝试实现的目标。此外,我正在查看您的网站,我没有看到任何保存的cookie。尝试从一个简单的例子开始,1门和1个cookie。然后进行简单的检查以查看您的cookie是否正常工作,例如,在检测到cookie时设置特定背景,如果没有则设置另一个。成功管理cookie后,您可以开始使用更多数据来使其更复杂。