首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环内的Javascript事件处理

循环内的Javascript事件处理
EN

Stack Overflow用户
提问于 2013-05-26 16:36:58
回答 2查看 948关注 0票数 3

我在jQuery上做了以下程序:

代码语言:javascript
运行
复制
$(document).ready(function(){
    var k = 0;
    setTimeout(function(){alert("Hello")},500);
    for (var i = 0; i < 5000; ++i) {
        ++k;
        $('.inner').append('<p>Test</p>' + k.toString());
    }
});

我预计计时器事件将在循环执行期间执行警告"Hello“字符串的函数。然而,它只在循环结束后发生。

是不是语言特定的问题?在某些循环/执行中,我应该如何实现回调函数处理?

EN

Stack Overflow用户

发布于 2013-05-26 16:45:20

是的,这是一个语言问题。JavaScript中的setTimeout在指定的毫秒数后执行代码,在本例中为500。它将脚本排入队列,然后继续执行下一行代码,因此执行您的循环,而线程将等待500ms来执行您的警报。

如果希望for循环在500毫秒后运行,请执行以下操作

代码语言:javascript
运行
复制
setTimeout(function(){
    for (var i = 0; i < 5000; ++i) {
        ++k;
        $('.inner').append('<p>Test</p>' + k.toString());
    }
},500);
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16757538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档