javascript - 你如何每秒将一个 div 附加到一个容器?

标签 javascript jquery html

我正在尝试找到一种将一个 div 一次一个地附加到容器的好方法。我不想附加所有 div 并让它们一次淡入一个。下面的代码不起作用。如果没有 for 循环,它会一次附加一个。我尝试了 for 循环来限制按顺序附加 div 的次数,但它每秒输出 4 个 div。我希望它每秒输出一个 div,四次。

for(var i = 0;i < 4; i++){
        setInterval(function(){
            $(".output").append("<div class='odiv'>TEST</div>")
        },1000)
 }

CSS:

.odiv{
        display: inline-block;
}

html:

<div class="output"></div>

最佳答案

只需使用超时而不是时间间隔作为当前迭代索引的函数 1000 * i:

for (var i = 0; i < 4; i++) {
    setTimeout(function () {
        $(".output").append("<div class='odiv'>TEST</div>")
    }, 1000 * i);
}
.odiv {
    display: inline-block;
    padding: 5px;
    background: #EEE;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="output"></div>

关于javascript - 你如何每秒将一个 div 附加到一个容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363367/

相关文章:

javascript - jquery .text() 和 unicode

php - 请求readystate总是返回0?

javascript - 将 Unix 时间戳转换为可读格式,在 JavaScript 代码中不起作用

javascript - 你能动态地制作 SVG 动画吗?

javascript - 将模型类型设置为主干中具有外部 url 的集合

javascript - 使用 JS 将 JQuery 二维码转换为图像

html - 使 float div具有相同的高度

Javascript - 自定义原型(prototype) - 语法错误

javascript - 从音频中获取对数字节频率数据

html - 背景颜色不会显示