【面向JS--DOM加载过程】
2017-11-10 09:22
190 查看
DOM加载过程:
layout: 重新计算布局——效率低
只要改变DOM树上的元素,都会重新layout——效率更低
如何减少layout的次数:先在内存中拼凑要添加的DOM子树,然后一次性挂到页面,只会触发一次layout——效率提高
目前前端三大框架中的 vue 与 React 采用的虚拟DOM思想,就是在极大的程度上减少了layout的次数。
把要生成的DOM存在文档片段中,最后挂载到DOM树上
文档片段: 内存中临时存储一个DOM子树的临时父节点,用法和普通父节点完全一样
可将DOM子树整体挂到DOM树上,但自己不出现在DOM中
何时使用: 同时添加多个平级元素时,都要先放在文档片段中,再将文档片段整体挂到页面
如何使用: 3步:
layout: 重新计算布局——效率低
只要改变DOM树上的元素,都会重新layout——效率更低
如何减少layout的次数:先在内存中拼凑要添加的DOM子树,然后一次性挂到页面,只会触发一次layout——效率提高
目前前端三大框架中的 vue 与 React 采用的虚拟DOM思想,就是在极大的程度上减少了layout的次数。
把要生成的DOM存在文档片段中,最后挂载到DOM树上
文档片段: 内存中临时存储一个DOM子树的临时父节点,用法和普通父节点完全一样
可将DOM子树整体挂到DOM树上,但自己不出现在DOM中
何时使用: 同时添加多个平级元素时,都要先放在文档片段中,再将文档片段整体挂到页面
如何使用: 3步:
1、创建文档片段对象: var frag=document.createDocumentFragment(); 2、将平级子元素,追加到文档片段中 frag.appendChild(elem) 3、将文档片段挂到DOM树上指定父节点下 parent.appendChild(frag);
相关文章推荐
- 认识DOM和DOM加载过程以及如何让DOM加载完成后再执行js脚本文件
- JS , CSS ,image HTML DOM的加载过程 以及 总结JS的基本用法
- js【面向过程编程】、好、 【init()、 GetData()、 bindData()、bindDom、 bindEvent()、buyProduct()、AddProductToCart()】*****************
- 认识DOM和DOM加载过程以及如何让DOM加载完成后再执行js脚本文件
- js面向对象---无缝轮播图(附面向过程代码)
- js调用其他js文件的函数,以及js加载过程
- JQuery源码解析-Dom加载过程
- 【奇舞js笔记】过程抽象,高阶函数,面向函数编程
- 2016/3/22 面向过程 面向对象:①多态 ②引入页面加载类
- 如何实现加载DOM时执行js代码
- 【面向JS--DOM 操作API】
- HTML,javascript,image等加载,DOM解析,js执行生命周期
- js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
- DOM加载完成后执行js(javascript)代码
- 原生JS实现DOM加载完成马上执行JS代码
- 对于HTML页面中CSS, JS, HTML的加载与执行过程的简单分析
- js无法捕捉dom中由ajax动态加载的html元素
- 认识DOM以及DOM加载过程
- js面向过程与面向对象编程示例(使用jquery库)