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.

35 lines
1.0 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<ul><li>111</li></ul>
<script>
const total = 1000; // 插入十万条数据
const onceCount = 50; // 每次插入50条数据
const sumCount = Math.ceil(total/onceCount); // 插入数据需要的次数
var renderCount = 0; // 渲染次数
var ul = document.querySelector("ul"); // 获取要插入数据的父节点
function add(){ // 添加数据方法
var fragment = document.createDocumentFragment(); // 创建虚拟节点
for( let i=0; i<onceCount; i++){
var li = document.createElement("li");
li.innerHTML = Math.floor(Math.random()*100000);
fragment.appendChild(li); // 插入虚拟节点不消耗性能
}
ul.appendChild(fragment);
renderCount++;
loop();
}
function loop(){
if(renderCount<sumCount){
window.requestAnimationFrame(add)
}
}
loop();
</script>
</body>
</html>