// 1、创建文档片段,将标签全部放入该片段中,再统一插入doucment,这样只会渲染一次
var root = document.getElementById('root');
var fragment = document.createDocumentFragment();
for (let i=0;i<1000;i++) {
let li = document.createElement('li');
li.innerHTML = 'li标签';
fragment.appendChild(li);
}
root.appendChild(fragment);
// 2、使用display先隐藏,在显示
var ul = document.getElementById('root');
ul.style.display = 'none';
// 添加数据
appendDataToElement(ul,data);
ul.style.display = 'block';
// 3、将原始元素拷贝到一个脱离文档的节点中,修改副本,完成后再替换原始元素
var old = document.getElementById('root');
var clone = old.cloneNode(true);
appendDataToElement(ul,data);
old.parentNode.replaceChild(clone,old);复制代码
事情的发酵过程 某天,产品提着刀来找我,让我实现一个功能:A功能模块要给个最大高度,当内容不超过最大高度,则展示所有内容,当内容超过最大高度隐藏超过最大高度的部分,同时展示“查看更多”按钮,点击查看更
- 1886
- 7
- 2