在网页上打印javascript的值
Printing a value from javascript on a web page
我有一个html页面,并希望从java脚本函数打印一些值。该值需要经常更改。我的问题是,不是"连续"更改(或者至少,当代码需要更改值时),而是仅在整个java脚本代码完成执行时才更改。我用的是Chrome,还没有在其他浏览器上测试过。
下面是重现这个问题的最小示例:
<head>
<title>Test Continuous Output</title>
</head>
<body>
<p id="data"></p>
<script>
function onClick() {
for(var i =0;i<100;i++) {
document.getElementById("data").innerHTML = i;
for(var j = 0; j < 1000; j++) {
console.log("j="+j);
}
}
}
</script>
<button onclick = "onClick()">test</button>
</body>
编辑:张贴这里的代码修复这个问题,使用setTimeout @Alytrem的建议:
<head>
<title>Test Continuous Output</title>
</head>
<body>
<p id="data"></p>
<script>
var n=0;
function log() {
document.getElementById("data").innerHTML = n;
n=n+1;
if(n<100) {
setTimeout(log,100);
}
}
function onClick() {
log();
}
</script>
<button onclick = "onClick()">test</button>
</body>
这是因为DOM会改变,但需要重新绘制。当dom重新绘制时,循环已经完成。例如,尝试将超时设置为每100毫秒循环一次。它将允许DOM被重新绘制。
这是一个可能的解决方案,使用setTimeout来避免在计算过程中阻塞DOM重绘。
http://jsfiddle.net/n4YYX/4/<body>
<p id="data"></p>
<script>
var remainingTasks;
function doTask() {
for (var j = 0; j < 1000; j++) {
1 + 1;
}
console.log("remainingTasks=" + remainingTasks);
document.getElementById("data").innerHTML = 100 - remainingTasks;
remainingTasks--;
if (remainingTasks > 0) setTimeout(doTask, 10);
}
function onClick() {
remainingTasks = 100;
doTask()
}
</script>
<button onclick="onClick()">test</button>
文档。Write或alert()是我知道的输出javascript变量值用于调试和其他东西的唯一方法因此,例如:alert("j= "+j);
<——更适合详细调试
或:document.write("<br/> j="+j);
<——更适合快速调试
相关文章:
- 无法获取某些 Javascript 的值
- 使用PhantomJS获取body onload javascript的值
- 如何获取 CheckBoxSelected in JavaScript 的值
- 在 URL 上放置一个带有 JavaScript 的值
- Web服务返回给javascript的值是未定义的
- 设置隐藏值字段 Javascript 的值
- 在 php 中打印 javascript 的值
- 根据 JavaScript 的值更改值
- 在主页加载之前,我需要来自javascript的值,然后想在代码中使用该值
- 变量's从Jsp到Javascript的值传递
- 刷新变量javascript的值
- 如何在cs文件中返回javascript的值
- 我如何通过使用javascript的值选择一个选项
- 删除每个输入Javascript的值
- 在网页上打印javascript的值
- 在javascript的值后面加上引号
- 将一个javascript的值传递给另一个js文件
- PHP和Javascript的值传递
- 切换变量javascript的值
- 在foreach循环中用PHP改变外部Javascript的值