随机图像仅应用一次

时间:2013-04-08 16:06:39

标签: javascript

我希望我的网站显示一个随机的背景图片(我用javascript设置)但我不希望它在用户访问网站时再次更改。目前每次点击一个链接时它都会改变,但我只想在你点击主页按钮时改变它。

我认为这个问题很相似,但由于我以前没有使用过很多PHP,我想知道是否有javascript替代方案? (或者我在这里失踪的东西?) choose random value only once

由于

3 个答案:

答案 0 :(得分:1)

您可以使用cookies甚至window.localStorage通过导航在Javascript中存储信息(然后使用与链接中相同的逻辑)。

答案 1 :(得分:1)

Javascript解决方案(完全客户端):

使用sessionStorage

fileurls=["a.jpg","b,jpg"]// list of file URLS
function getFileURL(){
 if(sessionStorage.fileurl)
  return sessionStorage.fileurl;
 }else{
  sessionStorage.fileurl=fileurls[Math.floor(Math.rand()*fileurls.length)]
  return sessionStorage.fileurl;
 }
}

现在,只需将图像的src设置为函数设置的内容:

document.body.style.background="url('"+getFileURL()+"')";

基本上,这会在会话的浏览器存储中放置一个随机文件URL,并在需要时使用它。


PHP解决方案(完全服务器端):

$fileurls = array('a.jpg','b,jpg');
if(!isset($_SESSION['fileurl'])) {
    $_SESSION['fileurl'] = $fileurls[rand(0, count($fileurls) - 1)];
}

而且,<body>标记的位置,请执行以下操作:

 <body background="<?echo$_SESSION ['fileurl'];  ?>">

答案 2 :(得分:-1)

使用JavaScript为Home按钮设置onClickListener,这将在单击时更改背景。