Jquery 不通过在浏览器中存储来重复随机页面背景
因此,我是JS的初学者,我编写了一个非常简单的脚本,用于随机选择网站页面的背景图像。问题是,有时导航到新页面或重新加载同一页面时,会随机选择相同的图像。我需要某种方法来存储刚刚在浏览器中用作背景的图像 这是我的剧本:Jquery 不通过在浏览器中存储来重复随机页面背景,jquery,random,background-image,browser-cache,repeat,Jquery,Random,Background Image,Browser Cache,Repeat,因此,我是JS的初学者,我编写了一个非常简单的脚本,用于随机选择网站页面的背景图像。问题是,有时导航到新页面或重新加载同一页面时,会随机选择相同的图像。我需要某种方法来存储刚刚在浏览器中用作背景的图像 这是我的剧本: var rand_image_bg = function(){ $('<div id="background_container"><img class="background_image"/></div>').inser
var rand_image_bg = function(){
$('<div id="background_container"><img class="background_image"/></div>').insertAfter("#menu");
var image_src = ["Images/spaceship.jpg", "Images/hallway.jpg", "Images/steampunk.jpg", "Images/mine.jpg"];
var selected_bg_image = Math.floor((Math.random()*image_src.length)+1)-1;
console.log($("body").data("bg_image"));
if (selected_bg_image == /*Number of the previous background image*/) {
selected_bg_image = image_src.length-1-selected_bg_image;
}
$(".background_image").attr("src",""+image_src[selected_bg_image]+"");
/*Record number of the new background image for later*/
}
var rand\u image\u bg=function(){
$('
任何人能给我的建议都是非常好的。请记住我是一个初学者,所以请保持简单。谢谢!根据adeno的建议,我写了这篇文章,似乎很有效:
var rand_image_bg = function(){
$('<div id="background_container"><img class="background_image"/></div>').insertAfter("#menu");
var image_src = ["Images/spaceship.jpg", "Images/hallway.jpg", "Images/steampunk.jpg", "Images/mine.jpg"];
var selected_bg_image = Math.floor((Math.random()*image_src.length)+1)-1;
if (selected_bg_image == localStorage.bg_image) {
selected_bg_image = image_src.length-1-selected_bg_image;
}
$(".background_image").attr("src",""+image_src[selected_bg_image]+"");
localStorage.bg_image = selected_bg_image;
}
rand_image_bg();
var rand\u image\u bg=function(){
$('在HTML中通常只有三种保持状态的方法(还有很多,但这三种是最常用的)。使用cookie或localStorage在客户端存储信息,或在服务器端存储信息。前两个可能与此最相关。由于您已经在使用jQuery,请查看jQuery.cookie.js插件…使用它存储和拉取cookie非常容易。只需简单地存储用于或者您的图像\u src数组。