我想知道是否這是一個好方法,以確保所有的圖像等加載之前,顯示#主div?等待一切加載之前顯示
在#main div中,我必須加載97個圖像,有時它不夠快,所以它在顯示圖像之前顯示正方形。
$(document).ready(function(){
$('#main').hide();
$(window).load(function(){
$('#main').show();
});
});
有人能給我一些很好的建議嗎?
我想知道是否這是一個好方法,以確保所有的圖像等加載之前,顯示#主div?等待一切加載之前顯示
在#main div中,我必須加載97個圖像,有時它不夠快,所以它在顯示圖像之前顯示正方形。
$(document).ready(function(){
$('#main').hide();
$(window).load(function(){
$('#main').show();
});
});
有人能給我一些很好的建議嗎?
你可以看延遲加載,只加載視(可見部分沒有任何滾動),然後(如果/當)用戶滾動其他圖像顯示。也會減少帶寬消耗。否則,假設您遵循標準HTML併爲圖片預加載寬度/高度,我不會花費太多精力在「加載UI」之前加載它們 - 您的佈局應該在整個裝載過程中保持通暢,根據今天的標準,97張圖片(假設某種縮略圖)不應該花太長時間。
後續行動:這是一個用於jQuery的lazy-load plugindoes what I'm talking about。 (基本上Facebook使用它的新聞提要)
布拉德克里斯蒂,感謝您花時間給出答案。 它並不是真正的97縮略圖/圖標的大小,不時給予延遲。 我的問題顯示al縮略圖/圖標流利的原因是基於MySQL的。 圖像不在mysql中,但要定義哪些縮略圖/圖標應該顯示在哪個被定義bij在mysql數據庫中的一些設置...所以,97查詢:-) 但我已經在尋找更好的系統:-) – Nomistake
用戶,MySQL的查詢應該在頁面投放時執行,否?也就是說,延遲應該在HTML可見和/或渲染之前進行,這使得隱藏和顯示基於負載延遲的內容無關緊要。 (除非我誤解了這個問題)。 –
wel, 我用php做了一段時間循環。而($ i <97)。 與每個循環我查詢數據庫以獲取與當前$ i數字相等的圖標圖像的名稱(選擇圖標從db WHERE square_id ='「。$ i。」'LIMIT 1)我生成一個div保存圖像... (這是因爲97圖標的佈局可以由CMS管理) 暫時,我不能想到另一種方式,但隨着我繼續學習......也許......:-) 也許生成一個數組保存圖像... – Nomistake
這樣會好的。但是,而不是使用jQuery最初隱藏<div id="main">
元素,你也可以使用一個CSS屬性:
#main {
display: none;
}
非常感謝你,我想我會改變你的建議,只是爲了讓它更乾淨! – Nomistake
您可以預先加載啓動頁面後面的所有圖像,然後在全部加載後隱藏啓動頁面。我目前是這樣做的73張圖片(18mb)
查看下面的鏈接中的答案會告訴你如何。
我可能只是'#main'默認情況下,CSS隱藏的,但除此之外,這似乎是合理的。 –
'$(window).load()'不應該嵌套在'$(document).ready()'中。 –
@DavidThomas:爲什麼不呢? $(window).load()變爲$(document).ready()之後...?請解釋一下:-) – Nomistake