2017-08-03 90 views
0

我知道這是一個常見問題,但我嘗試了許多建議的解決方案,但無濟於事。我試圖實現的所有功能都是讓圖片在頁面加載時淡入淡出(沒有在瞬間消失之前短暫出現,並漸漸消失)。Jquery圖像在淡入之前出現短暫閃爍

從我讀過,我們建議隱藏首先使用CSS,圖像,以便它不應將其加載,直到淡入發生:

#imgfade { 
    display: none; 
    } 

我知道這工作,因爲如果我刪除Jquery,圖像不顯示。 jQuery代碼:

$("#imgfade").fadeIn(600); 

我也試過:

$("#imgfade").hide().fadeIn(600); 

它主要工作,但訪問其他網站時,然後返回,閃爍發生。有時候往返前進會導致它工作8/10次,然後有時會閃爍。

我也試過這個CSS(用適當匹配的Jquery)無濟於事:

#imgfade { 
opacity: 0; 
} 

我懷疑這可能是瀏覽器緩存呢?

我正在使用Bootstrap 3,但自定義CSS(如上所述)出現在引導(和其他)CSS頁面加載後(在部分內)。

任何人都可以推薦一個完全傻瓜證明的方法來避免這種情況發生? 我也遇到了一些其他頁面上的文字相同的問題。

非常感謝提前。

+0

你正確地做到了。整頁重新加載會使其正常工作,但是當你離開然後再回來時,代碼再次運行,從而使其從0中消失。如果它被隱藏,則快速修復將僅淡入。 –

+0

加載CSS文件之前,可能會加載HTML頁面。嘗試將'#imgfade {display:none}'移動到文檔的''中,或將樣式內聯到圖像本身。 – Blazemonger

+0

謝謝,很高興知道。任何想法如何在返回時停止閃爍?我想知道是否有一個「黑客」或替代方法來防止此.. Blazemonger:顯示:無代碼是在文檔的(爲此),而不是在單獨的CSS文件。 – BSUK

回答

0

我相信我已經找到了解決這個問題的方法,這個問題似乎每次都對我有效100%。
希望這可以幫助別人:

配售Jquery的淡入代碼在非常結束HTML的(後/體,前/ HTML)似乎解決這一問題的某些原因。

我真的不明白爲什麼,但我只能猜測它與DOM加載順序有關。也許這是在嘗試淡入CSS之前給CSS提供正確讀取的機會(確保div元素實際上是隱藏的)。