美文网首页我爱编程
js 文档碎片渲染

js 文档碎片渲染

作者: wdy934_ | 来源:发表于2018-04-12 12:13 被阅读0次

有时候,我们需要渲染类似列表这样的页面结构, 而,数据可能不会只有一条, 会有多条,
甚至更多, 想到的简单方法可能有如下:

let data = [
 {title: "lalalal", body :" lalallalalaalhkjjhk", time: "2017-11-15"},
 {title: "bibibibibi", body :" bibibibibilajflkjl", time: "2017-11-16"}
], html=[];

方法一:
渲染时,会闪烁

data.forEach((item, i)=>{
  html.push("`<div><h3>${item.title}</h3><p>${item.body}</p><p>${item.time}</p></div>`")
});
console.log(html.join(''));

方法二:
每次渲染一条数据, 渲染次数多

document.body;
for(let i=0, l=data.length; i<l;i++){
let d = document.createElement('div');
d.innerHTML = `
  <h3>${data[i].title}</h3><p>${data[i].body}</p><p>${data[i].time}</p>
`
document.body.appendChild(d);
}

文档碎片方法:
https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createDocumentFragment
是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加到文档片段,然后将文档片段附加到DOM树。在DOM树中,文档片段被其所有的子元素所代替。

因为文档片段存在于内存中,并不在DOM树中,所以将子元素插入到文档片段时不会引起页面回流(reflow)(对元素位置和几何上的计算)。因此,使用文档片段document fragments 通常会起到优化性能的作用(better performance)。

documentFragment 被所有主流浏览器支持。所以,没有理由不用。

var oFragment = document.createDocumentFragment();

for(var i = 0 ; i < 10; i ++) {
    var p = document.createElement("p");
    var oTxt = document.createTextNode("段落" + i);
    p.appendChild(oTxt);
    oFragment.appendChild(p);
}
document.body.appendChild(oFragment);

相关文章

  • js 文档碎片渲染

    有时候,我们需要渲染类似列表这样的页面结构, 而,数据可能不会只有一条, 会有多条,甚至更多, 想到的简单方法可能...

  • js 文档碎片

    js 在插入元素时,可以直接插入,也可以先把元素存入文档碎片,在进行插入,但是文档碎片只是在理论中可以提高操作性能...

  • 海投汇前端培训系列 -- 学习资料汇总

    海投汇前端培训 官方文档 Vue文档 VueRouter文档 Vuex文档 Vue 服务端渲染文档 Nuxt.js...

  • 网页转换流程

    创建ajax 1、首先创建ajax ,将 ajax在文档中用js文档保存起来 2、在html文档中渲染 ​ 用...

  • 性能优化

    相关概念 阻塞渲染 JS下载、执行时肯定会阻塞渲染例如下图中代码,对于浏览器,接收到html文档后,解析到a.js...

  • Review JavaScript

    红宝书 综合 script加载js会阻塞渲染,标签中 fefer 指异步加载js,在文档load之后按顺序执行。a...

  • 文档碎片和事件委托

    文档碎片 —— 在你需要用js创建多个节点时,可以使用document.createDocumentFragmen...

  • 随机方块

    html文档 Tools.js文档 box.js文档 main.js文档

  • js、css 对浏览器渲染页面的影响

    之前只是大致知道css和js对浏览器渲染会有影响,尤其是js的影响很大,所以我们习惯性的把js放在文档底部进行加载...

  • 【渲染】文档流渲染

    浏览器获取到html文档,同步下载的css和js文件,以及静态资源文件, css下载完成后,文件将会被解析成css...

网友评论

    本文标题:js 文档碎片渲染

    本文链接:https://www.haomeiwen.com/subject/kdexkftx.html