2016-04-14 42 views

回答

0

希望我理解這個問題的權利......在這裏去!

快速和骯髒的方式是使用cookie來存儲一些關於用戶是否已加載地圖的狀態,然後使用它來決定地圖應該如何加載(瀑布淡入動畫或一次全部)

因此,當圖像加載完成時(如果您沒有處理完成時間,無論是作弊還是使用定時器,或者假設用戶訪問過在所有頁:

//please don't actually do it this way, 
 
//there are many better libraries to handle cookies 
 
//you'll also want to look at expiry time, etc 
 
function loadImagesFinished(){ 
 
    document.cookie = 'mapLoaded=true'; 
 
}

然後,當你的頁面加載並要決定如何加載圖片:

var haveMapImagesBeenLoaded = getCookie('mapLoaded'); 
 
if (haveMapImagesBeenLoaded){ 
 
    loadImagesWaterfallAnimation(); 
 
} else { 
 
    loadImagesAllAtOnce(); 
 
}

顯然很多過分簡單化的發生,但你的想法。

如果您想要更健壯的方式,您可以使用服務器端會話存儲(如果您的語言支持它,它可能會這樣做)。不過,一般的方法仍然是一樣的。檢查會話是否包含mapLoaded屬性,如果沒有,則設置它並寫出一些內容以向瀏覽器指示它需要使用瀑布動畫加載地圖(不同的HTML,<script>標記中的JS變量,http響應標頭,一個餅乾......任何東西!)。否則,立即加載它!