js for循环中如何延迟执行

发布网友

我来回答

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页面,此时循环中的内容被延迟执行了。

热心网友

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

比如下面这个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>

热心网友

把要执行的事件放到定时函数里面

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com