2012-07-03 44 views
0

好的,所以我聽說JS無法觸發CSS背景圖像加載事件。所以,我看到一些人提出的建議是,在img標籤加載時觸發事件。但你顯然需要隱藏這張圖片,以免它被顯示出來?jQuery觸發圖像加載(隱藏圖像)

你需要把這個圖像放在你的頁面上的某個地方,然後做一些事情:display:none css?

否則,它顯然是不希望看到一個漂亮的大圖像...

我還以爲至多一半,如果它是顯示體面的瀏覽器將不會加載圖像:無; 。或者JS可以將圖像加載到緩存中,而HTML完全不知道它?

我錯了嗎?......如果是這樣的話,那就是生活中那些錯誤真棒的罕見時刻之一。

不能等待HTML6。也不能等到沒有人像往常一樣支持它,然後成爲又一個憤世嫉俗的白癡,再一次搖擺了5年。

回答

2

顯示無實際上可能不加載圖像,這完全無效,你想完成。

您可以輕鬆地將圖像添加到「緩存」中。

var myImage = new Image(); 
    myImage.onload = function(){ 
     // What you want to do! 
    }; 
    myImage.src = 'myimage.png'; 
+0

這是跨瀏覽器/跨宇宙兼容嗎? – 3Dom

+0

此外,這將停止進一步的HTTP請求的背景圖像?似乎不會,但會有興趣聽到你的經驗。 – 3Dom

+0

跨瀏覽器:無法記住它不適用於任何現代圖形瀏覽器。如果它會停止其他http請求取決於瀏覽器。某些瀏覽器非常高效/智能,而其他瀏覽器則不是。我從來沒有測試過這個。如果可用的話,它至少會使用緩存。 –