javascript - 附加到空元素不起作用

标签 javascript jquery html

我想一个一个地显示存储在数组中的字符串的字符。 当我使用以下代码调用 threadsleep(a) 时:http://jsfiddle.net/thefiddler99/re3qpuoo/ ,它一下子出现了。 我想问题就出在这里

for (var i = 0; i < str.length; i++) {
        $('#hello').append(str[i])
        alert("foo")
        sleep(500)  
};

警报显示一切正常,除了每个之间的间隔不存在。

我不知道为什么。

注意: sleep 是我定义的一个函数,它在设定的时间量内工作

最佳答案

JavaScript 是单线程的。您的 while 循环太忙了,无法执行页面重绘。

不要尝试编写休眠函数。该语言不适合它,它只会消耗 CPU。改写您的代码以使用 setIntervalsetTimeout

var i = 0;

next();

function next() {
    $('#hello').append(str[i]);
    i++;
    if (i < str.length) {
        setTimeout(next, 500);
    }
}

关于javascript - 附加到空元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698804/

相关文章:

javascript - 将函数分配给多个变量而无需引用

javascript - 使用 Ajax 附加到 Jade 中的下拉列表

javascript - 如何在node js中将文件上传到服务器上?

html - 如何在表格标题中双击禁用蓝色选择?

javascript - 创建一个 slate.js 编辑器组件,将其状态保持在 markdown 中

javascript - Html 链接()'s with different id' s 为其自己的容器 div 触发相同的功能

javascript - 为什么我无法获取字符串形式的变量名称?我想创建自己的 'console.log' 函数

javascript - 如何在 java 脚本中停止鼠标悬停幻灯片放映(幻灯片放映应在鼠标移开后照常开始)

PHP 记录未插入到 MySql 博客类别表中

html - 有没有工具可以获取 css 类并使它们内联?