我试图根据其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);


看,如果有帮助。

09-18 23:55