2017-08-31 62 views
0

在呈現網頁的過程中,樣式表加載時間與該樣式表中所有規則的應用時間之間存在延遲,繪畫完成。當應用並繪製所有CSS規則時檢測

此延遲取決於樣式表的大小以及規則的複雜性。

有沒有可靠的方法來檢查繪畫過程何時完成?

注:我正在尋找一種方式時,將動態應用CSS規則,也將正常工作,即當新樣式表添加到頁面或當樣式由JavaScript修改。所以document.onload不是這裏的一個選項。

上下文:我正在處理一個大型單頁應用程序,它可以動態加載樣式表。爲了避免閃現無標題的內容,我展示了一個微調,並且我需要知道何時隱藏它。

+0

沒有可用的這樣的事件。 – Cerbrus

+0

@Cerbrus我知道這一點。但也許有一個解決方法?也許使用getComputedStyles()或者requestAnimationFrame()? –

+0

如果您在樣式表中偵聽「加載」事件,那麼在處理程序中,在隱藏微調器之前,請調用'setTimeout'(無延遲)讓瀏覽器呈現新加載的樣式表? – Cerbrus

回答

0

我想說最可靠的解決方案是在css加載事件後添加一個小的延遲。

事情是這樣的僞代碼:

myCssTag.onload(function(){ 
    setTimeout(doStuffAfterRender, 100); 
}); 
+0

需要的是100%可靠,而不是「最可靠」。 –

+0

@SzczepanHołyszewski:所以你倒下了最可靠的方法_exists_?這是唯一可用的選項。 – Cerbrus