我希望我的网站显示一个随机的背景图片(我用javascript设置)但我不希望它在用户访问网站时再次更改。目前每次点击一个链接时它都会改变,但我只想在你点击主页按钮时改变它。
我认为这个问题很相似,但由于我以前没有使用过很多PHP,我想知道是否有javascript替代方案? (或者我在这里失踪的东西?) choose random value only once
由于
答案 0 :(得分:1)
您可以使用cookies甚至window.localStorage
通过导航在Javascript中存储信息(然后使用与链接中相同的逻辑)。
答案 1 :(得分:1)
使用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,并在需要时使用它。
$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,这将在单击时更改背景。