Javascript 代码不会交叉淡入淡出

标签 javascript css

我有一些从 codepen.io 获得的 Javascript 代码。但是我很难执行它,尽管它是完全相同的代码。我只是在学习 Javascript,所以我是初学者。我没有使用 HTML,我只使用了 CSS 和 Javascript。背景图像确实随机播放,但淡入淡出不起作用。

这是我的 CSS 片段:

body {
    margin: 0;
    background-image: url(/image1.jpg) no-repeat center center fixed;
    background-size: cover;
    margin: 0;
    width: 100%;
    height: 100%;
    transition: 1s;
}

这是它附带的 JS。

var bgImageArray = ["image2.jpg", "image3.jpg", "image4.jpg"],
base = "/",
secs = 4;
bgImageArray.forEach(function(img){
    new Image().src = base + img; 
    // caches images, avoiding white flash between background replacements
});

function backgroundSequence() {
    window.clearTimeout();
    var k = 0;
    for (i = 0; i < bgImageArray.length; i++) {
        setTimeout(function(){ 
            document.documentElement.style.background = "url(" + base + bgImageArray[k] + ") no-repeat center center fixed";
            document.documentElement.style.backgroundSize ="cover";
        if ((k + 1) === bgImageArray.length) { setTimeout(function() { backgroundSequence() }, (secs * 1000))} else { k++; }            
        }, (secs * 1000) * i)   
    }
}
backgroundSequence();

如有任何帮助,我们将不胜感激!

最佳答案

我认为问题在于您将 CSS 规则定义到 body 但在您的 JavaScript 中,新图像附加到 documentElement,它等于 html 标记而不是 body 标签。

尝试更改这些行:

document.documentElement.style.background = "url(" + base + bgImageArray[k] + ") no-repeat center center fixed";
document.documentElement.style.backgroundSize ="cover";

为此:

document.body.style.background = "url(" + base + bgImageArray[k] + ") no-repeat center center fixed";
document.body.style.backgroundSize ="cover";

刚刚将 documentElement 更改为 body

关于Javascript 代码不会交叉淡入淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32899388/

相关文章:

javascript - 使用一些可变内容分配动态 div id

html - 在iphone中的固定位置

javascript - 仅前端的 Electron

javascript - 在从不同域加载页面的 iframe 中访问 "pre"标记

javascript - Node JS : ReferenceError: require is not defined

jquery - 标题顶部的 jqGrid 水平滚动条

javascript - Jquery Clone 克隆后提交表单

jquery - 如何制作一个固定的横幅,让内容流过它?

javascript - 集成 firebase 分析以查看有多少用户访问我的网页

javascript - 如何将 css 类添加到 react 中的组件?