<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text" id="t" value="" />
<input type="button" id="obtn" value="创建" onclick="text()" />
<div id="content">
</div>
<script type="text/javascript">
var i = 0;
function text() {
for(var i = 0; i < 10; i++) {
var div = document.createElement("div");
div.innerHTML = i;
document.getElementById("content").appendChild(div);
alert(i);
}
}
</script>
</body>
</html>
在一个js程序线程执行过程中,页面内容是不会更新渲染的。
只有当js程序线程执行结束,页面内容才会更新渲染。
不过,在ie浏览器或者低版本的谷歌浏览器中alert()弹出对话框时也会更新渲染,但高版本的谷歌浏览器不会这样
因为js的线程不是独立的,操作document也不是独立的,所以不能一个个出来。
包括使用settime或者setinterival都不行。
webworker或许能做到一个个出来,你可以试一试