Javascript 打印每个循环,而不仅仅是最终答案
我希望程序在每次循环运行时打印并更改th id“resposta”的innerHTML。但它只是在循环结束时更改值。我希望页面每秒更改div的内容 我有以下代码:Javascript 打印每个循环,而不仅仅是最终答案,javascript,php,loops,Javascript,Php,Loops,我希望程序在每次循环运行时打印并更改th id“resposta”的innerHTML。但它只是在循环结束时更改值。我希望页面每秒更改div的内容 我有以下代码: <script> function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) {
<script>
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
function escrever(){
for (i = 0; i < 10; i++) {
var resp = "Executando " + i;
document.getElementById("resposta").innerHTML = resp;
sleep(1000);
}
document.getElementById("resposta").innerHTML += "<br> fim";
}
</script>
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
函数escliver(){
对于(i=0;i<10;i++){
var resp=“executado”+i;
document.getElementById(“resposta”).innerHTML=resp;
睡眠(1000);
}
document.getElementById(“resposta”).innerHTML+=“
fim”;
}
您可以使用设置超时()
var超时;
函数sleepME(i){
if(i最好使用/延迟函数的执行,而不是for循环
函数escliver(计数){
var ele=document.getElementById(“resposta”);
如果(计数>10){
ele.innerHTML+=“
fim”;
返回;
}
ele.innerHTML=“Executando”+计数;
setTimeout(escliver.bind(null,+计数),1000);
}
escliver(1);
最好像下面这样使用setInterval
var i = 0;
var interval = setInterval(function(){
var resp = "Executando " + i++;
document.getElementById("resposta").innerHTML = resp;
if(i>=10){
document.getElementById("resposta").innerHTML += "<br> fim";
clearInterval(interval);
}
},1000);
var i=0;
var interval=setInterval(函数(){
var resp=“executado”+i++;
document.getElementById(“resposta”).innerHTML=resp;
如果(i>=10){
document.getElementById(“resposta”).innerHTML+=“
fim”;
间隔时间;
}
},1000);
$(文档).ready(函数(){
var计数=0;
interval=setInterval(函数(){
如果(count)那么你想要像executado 1 executado 2….
等等。你为什么要使用睡眠?id将显示“Executando 1”。1秒后我希望它更改为“executado 2”,再过1秒它将更改为“executado 3”…最后结束。您必须给浏览器时间来呈现更改。当前脚本保留线程,无法进行呈现。请熟悉和。id将显示“Executando 1”。1秒后,我希望它更改为“Executando 2”,再过1秒,它将更改为“Executando 3”…最后。这个答案将给我所有的文本。修改我的答案:)非常感谢!非常好!