国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

如何減少瀏覽器的reflow和repaint

2019-11-20 13:06:30
字體:
供稿:網(wǎng)友

1.避免在document上直接進行頻繁的DOM操作,如果確實需要可以采用off-document的方式進行,具體的方法包括但不完全包括以下幾種:

(1). 先將元素從document中刪除,完成修改后再把元素放回原來的位置
(2). 將元素的display設(shè)置為”none”,完成修改后再把display修改為原來的值
(3). 如果需要創(chuàng)建多個DOM節(jié)點,可以使用DocumentFragment創(chuàng)建完后一次性的加入document

2.集中修改樣式

(1). 盡可能少的修改元素style上的屬性
(2). 盡量通過修改className來修改樣式
(3). 通過cssText屬性來設(shè)置樣式值

3. 緩存Layout屬性值

對于Layout屬性中非引用類型的值(數(shù)字型),如果需要多次訪問則可以在一次訪問時先存儲到局部變量中,之后都使用局部變量,這樣可以避免每次讀取屬性時造成瀏覽器的渲染。
var width = el.offsetWidth; var scrollLeft = el.scrollLeft;

4.設(shè)置元素的position為absolute或fixed

在元素的position為static和relative時,元素處于DOM樹結(jié)構(gòu)當中,當對元素的某個操作需要重新渲染時,瀏覽器會渲染整個頁面。將元素的position設(shè)置為absolute和fixed可以使元素從DOM樹結(jié)構(gòu)中脫離出來獨立的存在,而瀏覽器在需要渲染時只需要渲染該元素以及位于該元素下方的元素,從而在某種程度上縮短瀏覽器渲染時間,這在當今越來越多的Javascript動畫方面尤其值得考慮。

以上就是個人總結(jié)的一些關(guān)于減少瀏覽器reflow和repaint的事項,希望大家能夠喜歡。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 铁力市| 外汇| 佛坪县| 东乡族自治县| 南安市| 保山市| 呼伦贝尔市| 井陉县| 手机| 剑河县| 香河县| 新竹县| 晋宁县| 辽宁省| 桑日县| 牙克石市| 武宣县| 宜宾县| 麻阳| 虹口区| 张家界市| 保康县| 双牌县| 右玉县| 中方县| 汝阳县| 合水县| 潮安县| 桑植县| 论坛| 景东| 寻乌县| 北川| 隆尧县| 衢州市| 张掖市| 静乐县| 鸡东县| 博罗县| 阳西县| 甘洛县|