鍍金池/ 問答/HTML/ 如何知道新的CSS設(shè)置已經(jīng)起效,并執(zhí)行相應(yīng)的操作?

如何知道新的CSS設(shè)置已經(jīng)起效,并執(zhí)行相應(yīng)的操作?

我們有一些代碼,需要在確定頁面加載完畢,所有CSS都已起效之后運行。

我們發(fā)現(xiàn)如下的代碼,只能判斷出“所有的資源文件已經(jīng)加載完畢”,并不代表CSS已經(jīng)起效。也就是說,load完到CSS真正起效(即瀏覽器完成渲染)之間是有時間差的。
圖片描述

請問,有什么特定的API可以檢測到“瀏覽器根據(jù)CSS重新渲染后”的時點嗎?或者有什么方法可以判斷這個時點?

多謝

回答
編輯回答
清夢

load完成即代表渲染完成。你所謂的時間差僅是你自己的想象。

2018年6月25日 11:06
編輯回答
何蘇葉

clipboard.png

2017年6月27日 19:01
編輯回答
莫小染

css與html會優(yōu)先script腳本加載的,load完成加載就完成了,一個css不用想那么多,不行寫個優(yōu)先執(zhí)行函數(shù)解決下

2018年5月22日 07:53
編輯回答
不討喜

”所有的css起效“的意思是尺寸和顏色等已經(jīng)可以被js使用的時刻嗎?如果是這個意思的話,其實script標簽之前的所有html內(nèi)容都已經(jīng)認為css生效了。畢竟js會阻塞渲染,如果這時候某些dom的尺寸和顏色沒有準備好,邏輯上是肯定錯誤的。相應(yīng)的,style和link也會阻塞,否則其中樣式(類名)也會影響js的執(zhí)行結(jié)果(jQuery的has方法等)

2017年7月20日 11:46