javascript - 如何在 for 循环内使用 setTimeout 更改 div 内容?

标签 javascript html for-loop settimeout

我有以下代码。我希望标题做的是连续更改不同的文本“Head #”。该代码可以定期更改它,但只能更改一次。更改完成后,由于某种原因不循环,继续循环。

<p class="header">Head 1</p>

<script>
    var changeThis = document.getElementsByClassName("header");
    for(i=0;i<10000;i++){
        setTimeout(function() {
            changeThis[0].innerHTML = "Head 2";
        },5000)
        setTimeout(function() {
            changeThis[0].innerHTML = "Head 3";
        },10000)
        setTimeout(function() {
            changeThis[0].innerHTML = "Head 4";
        },15000)
        setTimeout(function() {
            changeThis[0].innerHTML = "Head 1";
        },20000)
    }
</script>

最佳答案

看来您更愿意使用 setInterval (每 x 毫秒运行一次代码)。这使您不必在循环中定义如此多的 setTimeouts(这可能会变得非常困惑)

这是我的意思的一个示例,它将按照您的意愿继续循环。

var changeThis = document.getElementsByClassName("header");
var headIndex = 2;

function change() {
  changeThis[0].innerHTML = "Head " + headIndex;
  headIndex++;
}

// run change function every 3 seconds
setInterval(change, 3000);
<p class="header">Head 1</p>

关于javascript - 如何在 for 循环内使用 setTimeout 更改 div 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51831579/

相关文章:

javascript - 淡入淡出效果需要提供现有的javascript代码

javascript - 如何使用 Knockout JS 或其他方式将选择框的选定文本绑定(bind)到对象的属性?

python - 如何循环遍历列表?

python - Python 中的 Levenshtein 距离循环

html - 我应该如何命名我的 CSS 类?

java - 在 for 语句中打印解决方案时出现未知错误

javascript - MongoDB 根据 json 输入更新嵌套对象

javascript - 单击提交后如何显示加载 gif,但如果不满足验证则撤消它

html - 变换 : scale reset

jquery - 如何访问使用 css3 列创建的单列?