我正在尝试设置一个随机交替的背景,该背景会在整个网站上定期变化。例如。在任何给定时间点,随机背景图像在一段时间内每个页面上都是相同的。
目前,我使用此 javascript 每 30 分钟更改一次背景图片:(来自此处:http://www.blogfodder.co.uk/post/2008/01/JavaScript-CSS-Random-Background-Image.aspx)
然而,问题在于每个链接都会随机化每个新页面上的背景。
function ChangeCSSBgImg() {
if (!document.getElementById) return false;
var MyElement = "bgimg"
var ImgPath = "../i/"
if (!document.getElementById(MyElement)) return false;
var random_images = new Array ();
random_images[0] = "bg1.jpg"; // these are the background images
random_images[1] = "bg2.jpg";
random_images[2] = "bg3.jpg";
random_images[3] = "bg4.jpg";
random_images[4] = "bg5.jpg";
var $header = document.getElementById(MyElement);
var $backgroundurl = $header.style.backgroundImage;
var ImgURL = "url(" + ImgPath + random_images[rand(random_images.length)] + ")";
if ($backgroundurl != ImgURL) {
$header.style.backgroundImage = ImgURL;
}
movement = setTimeout("ChangeCSSBgImg()",108000000);
}
/* random number generator */
function rand(n) {
return ( Math.floor ( Math.random ( ) * n ) );
}
/* Custom onload function */
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
/* trigger onload */
addLoadEvent(ChangeCSSBgImg);
最佳答案
你能散列当前时间来选择一张图片吗?例如一个简单的方法是,有六张图片,然后根据当前时间的倒数第二个数字选择图片,例如
- 10:08 - 选择图片#0
- 10:15 - 选择图片#1
- 10:20 - 选择图片#2
- 10:51 - 选择图片#5
关于html - 如何定期更改整个站点的背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994636/