首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机图像仅应用一次

问随机图像仅应用一次
EN

Stack Overflow用户
提问于 2013-04-09 00:06:39
回答 3查看 160关注 0票数 1

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

我认为另一个问题是类似的,但由于我以前不太使用php,我想知道是否有替代的javascript?(或者只是我在这里漏掉了一些愚蠢的东西?) choose random value only once

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-09 00:13:31

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

使用sessionStorage

代码语言:javascript
复制
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设置为该函数设置的值:

代码语言:javascript
复制
document.body.style.background="url('"+getFileURL()+"')";

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

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

代码语言:javascript
复制
$fileurls = array('a.jpg','b,jpg');
if(!isset($_SESSION['fileurl'])) {
    $_SESSION['fileurl'] = $fileurls[rand(0, count($fileurls) - 1)];
}

而且,无论<body>标记在哪里,都要这样做:

代码语言:javascript
复制
 <body background="<?echo$_SESSION ['fileurl'];  ?>">
票数 1
EN

Stack Overflow用户

发布于 2013-04-09 00:12:11

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

票数 1
EN

Stack Overflow用户

发布于 2013-04-09 00:10:07

使用JavaScript为主页按钮设置一个onClickListener,该按钮在单击时将更改背景。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15883901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档