我对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" });
});
非常感谢您的帮助。
答案 0 :(得分:1)
您好,为什么不将您的imageID存储在html5存储对象(如sessionStorage / localStorage)中,请访问 Html5 Storage Doc 以获取更多详细信息。使用此功能,您可以在本地临时/永久存储中间值,然后访问您的值 用于存储会话的值
sessionStorage.getItem('label')
sessionStorage.setItem('value', 'label')
或使用
永久存储值localStorage.getItem('label')
localStorage.setItem('value', 'label')
因此,您可以使用html5存储对象在多个页面之间存储(临时)表单数据,您甚至可以在重新加载后保留这些对象。
现在,您可以在sessionstorage中存储图像ID,并在刷新页面时使用它,以便每个会话加载相同的图像。
答案 1 :(得分:1)
jQuery.cookie.js可能会在这里帮助你:
https://github.com/carhartl/jquery-cookie/
在项目页面中,创建会话cookie非常简单:
$.cookie('the_cookie', 'the_value');
然后,您可以在每次加载页面时阅读此cookie。
$.cookie('the_cookie'); // => "the_value"
我希望有所帮助。如上所述,可以使用HTML5本地存储,但会话cookie得到更广泛的支持。