摘要:下面我們分別對(duì)這兩種情況進(jìn)行測(cè)試。測(cè)試重繪寫了兩個(gè),都是改變的背景色實(shí)現(xiàn)實(shí)現(xiàn)測(cè)試結(jié)果如下左,右由于中,腳本運(yùn)行占據(jù)了一定的時(shí)間,而幾乎全部開銷在頁面重繪上。這樣看來具有更好的性能。
既然 CSS3 和 jquery 都可以實(shí)現(xiàn)動(dòng)畫, 那么到底哪中方式的執(zhí)行效率更高呢,我們簡單的來比較一下吧。
首先考慮一下,改變 DOM 樣式導(dǎo)致瀏覽器重繪有兩種方式,一種是單純的重繪,頁面布局沒有受到影響(如改變盒子的背景色,修改字體顏色,修改透明度...);另外一種是在重繪之前會(huì)觸發(fā) Rendering(回流),也就是頁面布局受到了影響,需要重新布局,在重繪頁面。下面我們分別對(duì)這兩種情況進(jìn)行測(cè)試。
測(cè)試重繪寫了兩個(gè) DEMO,都是改變 div 的背景色:
CSS3 實(shí)現(xiàn)
jqeury 實(shí)現(xiàn)
測(cè)試結(jié)果如下(CSS3 左, jquery 右):
由于 jquery 中,腳本運(yùn)行占據(jù)了一定的CPU 時(shí)間,而 css3 幾乎全部開銷在頁面重繪上。 這樣看來 css3 具有更好的性能。
測(cè)試回流+重繪接下來這兩個(gè) DEMO 效果是移動(dòng) DIV 的位置,這會(huì)導(dǎo)致瀏覽器觸發(fā) Rendering(回流),然后再進(jìn)行重繪:
CSS3 實(shí)現(xiàn)
jquery 實(shí)現(xiàn)
測(cè)試結(jié)果如下(CSS3 左, jquery 右):
可以看到,兩者沒有太打的區(qū)別。
結(jié)論通過上面兩個(gè)簡單的測(cè)試,可以得出一個(gè)結(jié)論,CSS3 同 jquery 在處理元素幾何屬性發(fā)生變化的動(dòng)畫時(shí),表現(xiàn)相當(dāng);但是在處理元素特性變換時(shí) CSS3 的性能要好。
CSS3 動(dòng)畫庫可以通過Animate.css 動(dòng)畫庫獲取各種動(dòng)畫特效,并且可以自定義需要的動(dòng)畫效果列表。用 CSS3 動(dòng)畫來代替 jquery UI 可以大大的提升網(wǎng)頁性能,如果你不打算考慮IE9-, 呵呵。
動(dòng)畫庫測(cè)試 DEMO:http://codepen.io/CodingMonkeyzh/pen/gpLdPW
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92323.html
摘要:童鞋已經(jīng)造了個(gè)版本。這里很明顯,方案和方案可應(yīng)對(duì)簡單場(chǎng)景如沒有回調(diào)等,方案可編程性最大,最靈活,可以適合復(fù)雜的動(dòng)畫場(chǎng)景或者承受復(fù)雜的交互場(chǎng)景。主要是那上面的演示和傳統(tǒng)的直接操作的方式對(duì)比。注釋里已經(jīng)寫了這是優(yōu)化重點(diǎn)。 簡介 transformjs在非react領(lǐng)域用得風(fēng)生水起,那么react技術(shù)棧的同學(xué)能用上嗎?答案是可以的。junexie童鞋已經(jīng)造了個(gè)react版本。 動(dòng)畫實(shí)現(xiàn)方式 ...
摘要:更別提配合一些運(yùn)動(dòng)或者時(shí)間的庫來編程了。姿勢(shì)封裝了一大堆關(guān)鍵幀動(dòng)畫,開發(fā)者只需要關(guān)心添加或者移除相關(guān)的動(dòng)畫的便可以。 簡介 在過去的兩年,越來越多的同事、朋友和其他不認(rèn)識(shí)的童鞋進(jìn)行移動(dòng)web開發(fā)的時(shí)候,都使用了transformjs,所有必要介紹一下,讓更多的人受益,提高編程效率,并享受編程樂趣。(當(dāng)然transformjs不僅僅支持移動(dòng)設(shè)備,支持CSS3 3D Transforms的...
摘要:更別提配合一些運(yùn)動(dòng)或者時(shí)間的庫來編程了。姿勢(shì)封裝了一大堆關(guān)鍵幀動(dòng)畫,開發(fā)者只需要關(guān)心添加或者移除相關(guān)的動(dòng)畫的便可以。 簡介 在過去的兩年,越來越多的同事、朋友和其他不認(rèn)識(shí)的童鞋進(jìn)行移動(dòng)web開發(fā)的時(shí)候,都使用了transformjs,所有必要介紹一下,讓更多的人受益,提高編程效率,并享受編程樂趣。(當(dāng)然transformjs不僅僅支持移動(dòng)設(shè)備,支持CSS3 3D Transforms的...
閱讀 1933·2021-09-27 13:35
閱讀 3461·2019-08-30 14:16
閱讀 2514·2019-08-30 10:52
閱讀 887·2019-08-29 16:35
閱讀 1439·2019-08-29 15:22
閱讀 3670·2019-08-23 18:21
閱讀 3163·2019-08-23 18:00
閱讀 3146·2019-08-23 16:50