提高性能,JavaScript文档碎片操作实例分析
分类:计算机网络

本文实例分析了JavaScript文档碎片操作方法。分享给大家供大家参考,具体如下:

javascript操作dom是一个很耗性能的过程,在某些情况下,不得不进行dom循环操作,我们每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"。
  面对循环操作dom的过程,我们选择使用文档碎片(creatDocumentFragment),将需要添加到dom中的内容一次性添加到文档碎片中,然后将文档碎片添加到dom树,这样就可以有效的减少操作dom的次数。

使用文档碎片在某些情况下可以提高页面效率。

var frag = document.createDocumentFragment();
var el = document.createElement("div");
el.appendChild(document.createTextNode("hello wrold"));
for (var i = 10; i>0;i--){
   frag.appendChild(el.cloneNode(true))//先将生成的dom全部插入frag,这个过程并不会触发重排与重绘
   }
document.body.appendChild(frag);//将生成的frag插入到body中,将将十次重排重绘的过程压缩为一次,

javascript操作dom是一个很耗性能的过程,在某些情况下,不得不进行dom循环操作,我们每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"。

此方法有利于提高浏览器的渲染性能,本来浏览器重排重绘十次,利用文档碎片可以只触发一次重排重绘过程就将十个元素插入到body中,,,

面对循环操作dom的过程,我们选择使用文档碎片(creatDocumentFragment),将需要添加到dom中的内容一次性添加到文档碎片中,然后将文档碎片添加到dom树,这样就可以有效的减少操作dom的次数。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>文档碎片</title>
<meta name="Keywords" content="">
<meta name="author" content="@my_programmer">
</head>
<body>
<script>
  var temp = document.createDocumentFragment();//文档碎片(当把文档碎片付给某节点时,只是把文档碎片中的子节点付给了某节点,它本身并没有插入到这个节点中)
  for (var i=0; i<100; i++) {
    var test =document.createElement('div');//创建一个节点
    test.innerHTML = 'aaa' + i;//给节点添加内容
    temp.appendChild(test);//把创建的节点插入到temp文档中
  }
  document.body.appendChild(temp);//把temp文档插入到body末尾
</script>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

您可能感兴趣的文章:

  • 初识javascript 文档碎片
  • JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
  • 基于JavaScript创建动态Dom
  • 简单实现JS对dom操作封装
  • javascript bom是什么及bom和dom的区别
  • JavaScript DOM 学习总结(五)
  • JavaScript中对DOM节点的访问、创建、修改、删除

本文由正版必中一肖图发布于计算机网络,转载请注明出处:提高性能,JavaScript文档碎片操作实例分析

上一篇:没有了 下一篇:源码解读
猜你喜欢
热门排行
精彩图文