Javascript 在JS数组中循环,然后以单个值永久结束

Javascript 在JS数组中循环,然后以单个值永久结束,javascript,arrays,loops,sequence,innerhtml,Javascript,Arrays,Loops,Sequence,Innerhtml,我试图在网站上的DIV中打印不同的句子。 我通过遍历数组(wordCycle)来实现这一点。 在数组中循环之后,我想要Umdenken。要永久显示。 但是相反,它在数组中循环,然后输出Umdenken。然后“未定义”将永久显示 这是我的代码: var wordCycle = [ 'Panierte Schuhsohlen', 'Essbare Sitzbezüge', 'Häuser wie Bäume', 'Städte wie Wälder', 'E

我试图在网站上的DIV中打印不同的句子。 我通过遍历数组(wordCycle)来实现这一点。 在数组中循环之后,我想要Umdenken。要永久显示。 但是相反,它在数组中循环,然后输出Umdenken。然后“未定义”将永久显示

这是我的代码:

var wordCycle = [
    'Panierte Schuhsohlen',
    'Essbare Sitzbezüge', 
    'Häuser wie Bäume',
    'Städte wie Wälder',
    'Ein neues Bio', 
    'Masken als Nährstoffe'
];

textSequence(0);
function textSequence(i) {

    if (wordCycle.length > i) {
        setInterval(function () {
            document.getElementById("sequence").innerHTML = wordCycle[i];
            textSequence(++i);
        }, 5500); // in milliseconds (1000 = 1 second)

    } 
    else if (wordCycle.length == i) {
        document.getElementById("sequence").innerHTML = 'Umdenken.';
    }
}

使用
setTimeout
来安排单个递归调用,而不是
setInterval

var wordCycle=[
“Panierte Schuhsohlen”,
“Essbare Sitzbezüge”,
“Häuser wie Bäume”,
“Städte wie Wälder”,
“Ein neues Bio”,
“马斯肯·艾尔斯·努尔斯多夫”
];
文本序列(0);
函数textSequence(i){
如果(wordCycle.length>i){
setTimeout(函数(){
document.getElementById(“序列”).innerHTML=wordCycle[i];
textSequence(++i);
},500);//以毫秒为单位(1000=1秒)
} 
else if(wordCycle.length==i){
document.getElementById(“sequence”).innerHTML='Umdenken';
}
}

非常有效,谢谢!您能告诉我如何毫不延迟地从第一句开始吗?您可以让函数体立即设置文本,并让
setTimeout
递归地再次调用函数(而不是在
setTimeout
中设置文本)。然后
textSequence(0)
将立即更改文本。