You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.5 KiB
HTML
38 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title></title>
|
|
<script src="Scripts/MicrosoftAjax.js" type="text/javascript"></script>
|
|
<script src="Scripts/jquery.min.js" type="text/javascript"></script>
|
|
<script type="text/javascript" src="Scripts/tab.js"></script>
|
|
<script src="Scripts/Global.js" type="text/javascript"></script>
|
|
</head>
|
|
<body>
|
|
<div><table border="1"></table></div>
|
|
<script>
|
|
const total = 100000; // 插入十万条数据
|
|
const onceCount = 50; // 每次插入50条数据
|
|
const sumCount = Math.ceil(total/onceCount); // 插入数据需要的次数
|
|
var renderCount = 0; // 渲染次数
|
|
var ul = document.querySelector("table"); // 获取要插入数据的父节点
|
|
function add(){ // 添加数据方法
|
|
var fragment = document.createDocumentFragment(); // 创建虚拟节点
|
|
for( let i=0; i<onceCount; i++){
|
|
var li = document.createElement("tr");
|
|
li.innerHTML = "<td>1</td><td>1</td><td>2</td><td>3</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>";
|
|
fragment.appendChild(li); // 插入虚拟节点不消耗性能
|
|
}
|
|
ul.appendChild(fragment);
|
|
renderCount++;
|
|
loop();
|
|
}
|
|
function loop(){
|
|
if(renderCount<sumCount){
|
|
window.requestAnimationFrame(add)
|
|
}
|
|
}
|
|
loop();
|
|
</script>
|
|
</body>
|
|
</html> |