0

index.html中打开它时背景会随机变化

var imgArr=['background.jpg', 'backgrounds2.jpg', 'backgrounds3.jpg'];
i=Math.round(Math.random()*2);
$('.wrap').css({'background': 'url('+imgArr[i]+') no-repeat fixed'});

在其他页面中,我不需要更改背景,而是使用 index.html中的
一个我如何从 index.html 中保存一个 var 值并在其他页面中使用它而不进行更改?

4

4 回答 4

0

最简单的方法是在 CSS 中设置默认值 - 然后您的 JS 将覆盖 index.html 上的默认值,如果您从其他页面中省略 js,它将恢复为默认值。

您也可以使用 JS 设置一个 cookie,然后从中读取,但是您仍然需要计划是否有人在没有设置 cookie 的情况下访问页面,所以如果我是您,id 可能会使用 CSS 选项。

于 2013-02-26T14:30:13.840 回答
0

如果您使用任何服务器端语言,请尝试 SESSION 来存储该值。如果您仅使用客户端语言,请尝试使用 cookie 或通过参数将值传递到下一页。

于 2013-02-26T14:31:50.333 回答
0

您可以向 index.html 添加一些元素并检查您的 javascript(如果存在),这意味着您在 index.html 页面上,您应该更改背景。例如添加

<div id="iamindex"></div>

而你的javascript:

if($('#iamindex').length) {
  var imgArr=['background.jpg', 'backgrounds2.jpg', 'backgrounds3.jpg'];
  i=Math.round(Math.random()*2);
  $('.wrap').css({'background': 'url('+imgArr[i]+') no-repeat fixed'});
}
于 2013-02-26T14:32:02.177 回答
0

您可以使用 cookielocalStorage甚至更好sessionStorage

var imgArr=['background.jpg', 'backgrounds2.jpg', 'backgrounds3.jpg'];
i = Math.floor(Math.random() * imgArr.length);
//fewer harcoded values is better :-)
$('.wrap').css({'background': 'url('+imgArr[i]+') no-repeat fixed'});
sessionStorage.setItem("bg", imgArr[i]);

当然,您应该在尝试访问之前检查存储是否可用,但它在现代浏览器中可用。

于 2013-02-26T14:41:31.103 回答