为什么我的段落在延迟后不显示第三个数组元素?我应该使用 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);
答案 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>