使用setTimeout()方法显示下一个数组元素

时间:2018-06-13 21:16:51

标签: arrays function settimeout

为什么我的段落在延迟后不显示第三个数组元素?我应该使用 clearTimeout()吗?

document.getElementById("helloText").innerHTML = combined[0];
setTimeout(function(){ document.getElementById("helloText").innerHTML = combined[1]; }, 1000);
setTimeout(function(){ document.getElementById("helloText").innerHTML = combined[2]; }, 1000);

1 个答案:

答案 0 :(得分:0)

在1秒后调用两个setTimeout()函数,因此在相同的时间延迟后文本会发生变化。

这就是为什么你只看到你的一个数组元素,而不是两者。

尝试将第二个setTimeout从1000延迟更改为2000.

如果它们都是1000,那么你只会看到其中一个。

    var combined = ["1. dog", "2. cat", "3. lizard"]
    
    document.getElementById("helloText").innerHTML = combined[0];
    
    setTimeout(function() {
      document.getElementById("helloText").innerHTML = combined[1];
    }, 1000);
    
    setTimeout(function() {
      document.getElementById("helloText").innerHTML = combined[2];
    }, 2000);
<div id="helloText">hi</div>