Javascript块元素不起作用

时间:2017-11-04 14:07:13

标签: javascript html slideshow

我尝试用javacript创建一个简单的自动幻灯片。



var Index = 0;
automatic();

function automatic() {
    var slide = document.getElementsByClassName("slide");
    for (var i = 0; i < slide.length; i++) {
        slide[i].style.display = "none";
    }
    if (Index > slide.length) {
        Index = 1;
    }
    Index++;
    slide[Index - 1].style.display = "block";
    setTimeout(automatic, 2000);
}
&#13;
&#13;
&#13;

我认为问题仍然是slide[Index - 1].style.display = "block";,因为我在此之前设置了提示,当我测试网页提醒有效时,以及当我放置之后提醒,他没有工作。 我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

首先:将Index的初始值设置为1以避免使用元素-1

第二:更改这两行的顺序:

Index++;

if (Index > slide.length+1) { Index = 1; }

第三:条件应该达到slide.length + 1,正如我在上面所纠正的那样。

答案 1 :(得分:-1)

试试这个:

&#13;
&#13;
var Index = 0;
automatic();

function automatic() {
    var slide = document.getElementsByClassName("slide");
    for (var i = 0; i < slide.length; i++) {
        slide[i].style.display = "none";
    }
    if (Index >= slide.length) {
        Index = 0;
    }
    Index++;
    slide[Index - 1].style.display = "block";
    setTimeout(automatic, 2000);
}
&#13;
&#13;
&#13;