js for循环中如何延迟执行

 我来答
幻翼高达Zero
2019-07-02 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.3万
展开全部

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:。

for (var i = 0; i< 3; i++) {

var a = i + ':' + (new Date());

$('body').append(a);

for (var j = 0; j < 700000000; j++);

}

3、浏览器运行index.html页面,此时循环中的内容被延迟执行了。

网海1书生
科技发烧友

2018-06-06 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

不到万不得已、山穷水尽的地步,请尽量不要在循环中做延迟处理,因为这会造成整个网页都卡住甚至崩溃,应该尽量利用定时器或计时器去解决。

比如下面这个for循环是依次显示0到9这十个数字,由于未做延迟处理,整个过程是瞬间完成的:

<span id=test></span>
<script>
for(var i=0;i<10;i++){
   document.querySelector("#test").innerHTML+=i+" ";
}
</script>

如果要实现每隔1秒显示一个数字,则这样:

<span id=test></span>
<script>
var i=0;
setTimeout(function x(){
   document.querySelector("#test").innerHTML+=i+++" ";
   if(i<10)setTimeout(x,1000);
},1000);
</script>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈小哥001
2018-06-06
知道答主
回答量:2
采纳率:0%
帮助的人:1693
展开全部
把要执行的事件放到定时函数里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式