我有一个 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>
编辑:在@Alytrem 的建议下使用 setTimeout 在此处发布解决此问题的代码:
<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>