gpt4 book ai didi

Javascript 代码不会交叉淡入淡出

转载 作者:行者123 更新时间:2023-11-28 07:06:49 25 4
gpt4 key购买 nike

我有一些从 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com