Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随机图像仅应用一次_Javascript - Fatal编程技术网

Javascript 随机图像仅应用一次

Javascript 随机图像仅应用一次,javascript,Javascript,我希望我的网站显示一个随机的背景图像(我用javascript设置的),但我不希望当用户在网站上时它再次改变。现在,每次你点击一个链接它都会改变,但我宁愿它只在你点击主页按钮时改变 我认为另一个问题类似,但由于我以前很少使用php,我想知道是否有javascript替代方案?(或者只是我在这里遗漏了一些愚蠢的东西?) 谢谢使用JavaScript为主页按钮设置onClickListener,单击时会更改背景。使用JavaScript为主页按钮设置onClickListener,单击时会更改背景

我希望我的网站显示一个随机的背景图像(我用javascript设置的),但我不希望当用户在网站上时它再次改变。现在,每次你点击一个链接它都会改变,但我宁愿它只在你点击主页按钮时改变

我认为另一个问题类似,但由于我以前很少使用php,我想知道是否有javascript替代方案?(或者只是我在这里遗漏了一些愚蠢的东西?)


谢谢

使用JavaScript为主页按钮设置onClickListener,单击时会更改背景。

使用JavaScript为主页按钮设置onClickListener,单击时会更改背景。

您可以使用或甚至
window.localStorage
通过导航(然后使用与链接中相同的逻辑)。

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

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
设置为函数设置的值:

document.body.style.background="url('"+getFileURL()+"')";
基本上,这会将一个随机文件URL放入会话的浏览器存储中,并在需要时使用它


PHP解决方案(完全服务器端): 并且,无论
标记在哪里,都要执行以下操作:

 <body background="<?echo$_SESSION ['fileurl'];  ?>">
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
设置为函数设置的值:

document.body.style.background="url('"+getFileURL()+"')";
基本上,这会将一个随机文件URL放入会话的浏览器存储中,并在需要时使用它


PHP解决方案(完全服务器端): 并且,无论
标记在哪里,都要执行以下操作:

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

使用变量。如果您喜欢使用变量,请使用php会话变量并在javascript上回显。如果您非常喜欢,请使用php会话变量并在javascript上回显。javascript解决方案工作得非常好!对于可能正在查看此帮助的其他人,我在主页链接上使用了一个
onlick
,运行了一个带有
delete sessionStorage.fileurl的函数在其中重置会话变量,从而在您仅单击主页时更改背景。非常感谢,javascript解决方案工作得非常好!对于可能正在查看此帮助的其他人,我在主页链接上使用了一个
onlick
,运行了一个带有
delete sessionStorage.fileurl的函数在其中重置会话变量,从而在仅单击主页时更改背景。