html - 如何定期更改整个站点的背景图像?

标签 html css background background-image

我正在尝试设置一个随机交替的背景,该背景会在整个网站上定期变化。例如。在任何给定时间点,随机背景图像在一段时间内每个页面上都是相同的。

目前,我使用此 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/

相关文章:

javascript - jquery中从两侧到中心的滑动效果

javascript - 如何在 Vuetify 中制作 strip 化的 v-data-table?

php - 是否可以使用 PHP 检测 css 伪元素?

javascript - 如何在我启动自己的网站时隐藏切换侧边栏?

css - 背景图片只出现在起始页,而不会出现在其他页面

android - 如何获得背景失焦(模糊)的 Alertdialog

android - 为什么在 TextView android 中加载 html <blockquote> 内容时左边缘显示蓝色垂直线

css - 透明背景div的背景颜色过渡效果?

ios - 核心剧情: grid lines background color

html - 列表文本不会与图像对齐