我试图根据其ID更改div的背景图像,然后用几张图像进行幻灯片显示。我可以使用javascript更改背景,但是很难弄清楚为什么我的循环不起作用。
main.js
var spotlight = document.getElementById('spotlight');
var pics = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
var totalPics = pics.length;
var i = 0;
function loop() {
if(i > (totalPics - 1)) {
i = 0;
}
spotlight.style.backgroundImage="url(/images/posts/'+pics[i]+')";
i++;
loopTimer = setTimeout('loop()',1000);
}
loop();
我正在使用sass,但是由于javascript是客户端,因此我猜应该不会有任何不同吗?循环中我在做什么错?
我遵循了w3Schools上使用javascript更改样式的基本原则,并且它可以处理静态图像,因此我的猜测是我在循环中做错了什么。
谢谢
最佳答案
更改此:
spotlight.style.backgroundImage="url(/images/posts/" + pics[i]+ ")";
和
loopTimer = setTimeout(loop,1000);
看,如果有帮助。