1

我只是在学习 JavaScript 并在学习网页设计课程,所以我是新手,但我需要每 5 分钟独立更改 10 张图像。每个将根据 3 个图像之间的 pc 时钟每 5 分钟更改一次,然后循环回第一个。

我一直在尝试使用设置间隔来实现这一点。

在布局 JavaScript 时我感到很困惑,因为当我需要全部十张图片来做我需要的事情时,我只能得到十张图片的最后一张。

var start = new Date().getTime(),
    i = 0,
    //get the node of the image to change
    img = document.getElementsByTagName('IMG')[0]; 

setInterval(function(){
    //what time is now
    var now = new Date().getTime();
    if(now - start > 60000){
        //initialize the counter
        start = now;
        //overlay with 0's -> substr(-4)
        //rotate on 1440 with a modulo -> i++ % 1440
        img.src = ('000' + (i++ % 1440 + 1)).substr(-4)  + '.jpg';
    }
}, 10000); //check every 10 sec 

我发现了这一点,但无法让多个图像正常工作

4

1 回答 1

0

问题是

document.getElementsByTagName(...)

返回一个元素列表。您的代码只选择第一个并将“img”变量设置为那个。修改“setInterval”函数以处理数组而不是单个元素,并将“img”设置为完整数组而不是单个元素,它应该可以工作:

 img = document.getElementsByTagName('IMG');
于 2013-09-14T23:05:38.947 回答