【发布时间】:2021-04-30 03:28:57
【问题描述】:
我知道这是一个非常菜鸟的问题,查阅了几个例子,但我是一个初学者,我在代码中实现它时遇到了麻烦。
我认为标题非常明确,我希望循环以随机项目开始,并继续从数组中挑选随机项目。
var bgImageArray = [
"link1" , "link2" , "link3"
]
base = "https://lh3.googleusercontent.com/pw/";
bgImageArray.forEach(function(img){
new Image().src = base + img;
});
function backgroundSequence() {
window.clearTimeout();
var k = 0;
for (i = 0; i < bgImageArray.length; i++) {
setTimeout(function(){
document.getElementById('animated-bg').style.background = "url(" + base + bgImageArray[k] + ") no-repeat center center";
if ((k + 1) === bgImageArray.length) { setTimeout(function() { backgroundSequence() }, (60000 / tempo.value))} else { k++; }
}, (60000 / tempo.value) * i)
}
}
``
【问题讨论】:
-
简单地打乱数组,然后按顺序迭代会更简单。见:How to randomize (shuffle) a JavaScript array?
-
你想随机显示每个背景一次,还是无限循环?
标签: javascript arrays dom arraylist random