2013-07-23 178 views
1

所以我試圖做一個jQuery幻燈片。替代預加載圖像

我讀過很多教程,和幾乎所有的人說的預加載使用下面的代碼的一些變化的圖像:

imageArray[imageNum++] = new imageItem(imageDir + "02.jpg"); 
imageArray[imageNum++] = new imageItem(imageDir + "03.jpg"); 
imageArray[imageNum++] = new imageItem(imageDir + "04.jpg"); 
imageArray[imageNum++] = new imageItem(imageDir + "05.jpg"); 

這是好的,如果你有四個幻燈片,但是如果幻燈片節目有大約10或15個不同的幻燈片,這可以大大減少網站的速度。

所以這個問題依然存在,我怎樣才能將所有這些圖片都傳遞給客戶端,並且不會導致功能的大幅降低?

+0

如果該方法速度慢,那麼AFAIK的所有預加載方法都將是,因爲該方法所做的只是將所有圖像加載到數組中。您可能會放置一個「正在加載...」屏幕,以便用戶知道該頁面尚未凍結。 – MathSquared

+1

也許你可以在它出現之前預載每張照片?總之:當照片N出現時,照片N + 1將被預加載。 – Pieter

+1

您不需要預加載,除非您希望在加載頁面後立即看到所有圖像。在定時幻燈片中,這絕不是這種情況......在加載當前視頻時加載「下一個」並不會造成傷害。 – dandavis

回答

0

其實,你不需要預載在javascript中的圖像。這關乎用戶的舒適度。在javascript中預加載圖像讓你能夠向用戶展示一些反饋(加載gif,加載欄,%...)並對他說:請等待幾秒鐘。否則,他會在2或3秒內看不到任何東西(取決於圖像的數量和大小)。例如,在一個帶有圖像的基本html頁面(沒有js)中,所有工作都正常,但可能需要一段時間才能加載頁面。

這就是爲什麼jQuery(和其他)幻燈片片段使用JS加載。