Jquery 每个会话设置一次随机背景图像

Jquery 每个会话设置一次随机背景图像,jquery,html,css,image,Jquery,Html,Css,Image,我对jquery完全陌生。我想能够设置标题背景图像随机。我不希望每次刷新页面时都更改它。相反,我只想在每个会话中设置一次。我假设我需要为此使用会话cookie,但无法使其工作 以下是我所拥有的,它在每次刷新的基础上运行良好。我只想在每次刷新时停止更改 $(document).ready(function () { var randomImages = ['image1', 'image2', 'image3', 'image4', 'image5']; var rndNum = Math.flo

我对jquery完全陌生。我想能够设置标题背景图像随机。我不希望每次刷新页面时都更改它。相反,我只想在每个会话中设置一次。我假设我需要为此使用会话cookie,但无法使其工作

以下是我所拥有的,它在每次刷新的基础上运行良好。我只想在每次刷新时停止更改

$(document).ready(function () {
var randomImages = ['image1', 'image2', 'image3', 'image4', 'image5'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var imageFile = $('#imgpathname').val() + randomImages[rndNum] + ".jpg";
$("div#header").css({ background: "url(" + imageFile + ") no-repeat" });
});

非常感谢您的帮助。

您好,为什么不将您的imageID存储在html5存储对象(如sessionStorage/localStorage)中,请访问以获取更多详细信息。使用此选项,您可以在本地临时/永久存储中间值,然后访问您的值 用于存储会话的值

sessionStorage.getItem('label')
sessionStorage.setItem('value', 'label')
或者使用

localStorage.getItem('label')
localStorage.setItem('value', 'label')
因此,您可以使用html5存储对象在多个页面之间存储(临时)表单数据,您甚至可以在重新加载后保留这些存储对象


现在,在您的情况下,您可以将图像ID存储在sessionstorage中,并在页面刷新时使用它,以便每个会话加载相同的图像。

jQuery.cookie.js可能会在这里帮助您:

在项目页面中,创建会话cookie非常简单:

$.cookie('the_cookie', 'the_value');
然后,您可以在每次页面加载时重新读取此cookie

$.cookie('the_cookie'); // => "the_value"

我希望这有帮助。如上所述,可以使用HTML5本地存储,但更广泛地支持会话cookie

我不明白。您打算如何知道首先选择了哪个图像?在页面刷新时,代码再次执行是正常的。但这又是一次吗?否。因为该页是“第一次”加载的,因为浏览器不知道这是否是同一页。除非你使用一些cookie或缓存技术。是的,这就是我的假设。我想我需要把它包装在一个if语句中。如果会话cookie存在,则从中获取图像名称,否则执行上面代码中的操作并创建会话cookie。我只是不知道如何让这一点发挥作用!