打印每个循环,而不仅仅是最终答案
Print every loop, not just the final answer
我希望程序在每次循环运行时打印更改 id "resposta" 的内部 HTML。但它只是在循环结束时更改值。我希望页面每秒更改div 的内容。
我有这个代码:
<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>
最好使用 setInterval/setTimeout 来延迟函数的执行,而不是 for 循环
function escrever(count){
var ele = document.getElementById("resposta");
if(count > 10){
ele.innerHTML += "<br> fim";
return;
}
ele.innerHTML = "Executando " + count;
setTimeout(escrever.bind(null,++count),1000);
}
escrever(1);
<div id="resposta"></div>
最好像波纹管一样使用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);
演示
<script>
$(document).ready(function(){
var count=0;
interval = setInterval(function() {
if(count<10){
$("#resposta").html('test'+count);
} else {
clearInterval(interval);
}
count ++;
},1000);
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="resposta"></div>
您可以使用
setTimeout()
:
var timeout;
function sleepME(i){
if(i <= 10){
timeout = setTimeout((function(){
var resp = "Executando " + i;
document.getElementById("resposta").innerHTML = resp;
sleepME(++i);
}), 1000);
} else {
document.getElementById("resposta").innerHTML += "<br> fim";
clearTimeout(timeout);
}
}
sleepME(1);
<div id="resposta"></div>
相关文章:
- Ajax聊天消息重复而不仅仅是更新
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 事件为所有项目而不仅仅是当前项目激发
- 在加载时显示,而不仅仅是在选中时显示
- 删除 HttpCookie 不仅仅是它的值
- 脚本选择所有输入,而不仅仅是复选框
- for 循环中的 if 语句都执行,而不仅仅是一个
- 当将函数传递给方法时,为什么使用匿名函数容器而不仅仅是原始函数有效
- .slideup()删除整个ul,而不仅仅是嵌套的li
- jQuery隐藏所有trs或td,而不仅仅是一个
- 使用Maven压缩所有内容,而不仅仅是源目录
- 从数组中删除双值,而不仅仅是javascript中的重复值
- 在全球范围内强制ng严格di,而不仅仅是在ng应用程序级别上
- Jquery Slider-获取滑块的每个数值?不仅仅是在mouseout上
- 我如何让jQuery在Facebook发布自动加载时做一些事情,而不仅仅是在页面加载时
- 如何使元素的宽度和高度为页面(文档)的100%,而不仅仅是窗口(浏览器)
- 在 Magnific 弹出窗口中打开所有图像,而不仅仅是发布图像
- 有没有办法使非html5支持浏览器支持html5,而不仅仅是html5标记,html5 api也是如此
- 之前每个测试都会调用每个测试,而不仅仅是一次
- 打印每个循环,而不仅仅是最终答案