0
A
回答
1
您可以使用圖像上的onload
來檢測它何時加載。
var img = new Image();
img.src = "http://www.mind-coder.com/example.jpg";
img.onload = function() { alert("Height: " + this.height); }
完整的示例,它有什麼作用:
一個
div
叫蓋,蓋你的頁面下載所有圖像之前(可能顯示像請加載消息)。JS腳本(在這裏需要香草沒有jQuery)搜索頁面中的所有圖像,並使用
src
存儲在data-src
中的路徑爲每個圖像加載它們。onload
在圖像加載時執行,並且loadCount
變量跟蹤加載了多少圖像,檢查頁面中的總數。當加載的圖片數量與頁面中圖片的數量相同時,隱藏封面並顯示您的頁面。
(function() {
var loadCount = 0;
var imgs = document.querySelectorAll('img');
imgs.forEach(function(img) {
img.src = img.dataset.src;
img.onload = function() {
loadCount++;
if (loadCount === imgs.length) {
document.getElementById('cover').style.display = 'none';
}
};
});
})()
#cover {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: red;
}
<div id="cover">cover - loading</div>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/d/d9/Big_Bear_Valley,_California.jpg">
<img data-src="https://upload.wikimedia.org/wikipedia/commons/9/92/Big_Sur_Coast_California.JPG">
0
你可以這樣做以下。首先設置顯示:沒有你的身體在HTML,所以它不會在以下條件下顯示任何內容,然後
$(window).on("load", function() {
//show the body like below
$("body").fadeIn(500);
});
體{顯示:無; }
+1
這很好,很簡單,如果OP已將「jQuery」標籤放在他們的問題上,我會投它... – nnnnnn
相關問題
- 1. ItemsSource渲染延遲
- 2. 預渲染HTML頁面到圖像
- 3. 延遲網頁的初始渲染
- 4. FBML元素渲染延遲
- 5. 引導CDN渲染延遲
- 6. SDL2不會延遲渲染
- 7. 反應延遲渲染
- 8. 推遲或延遲在單個頁面上加載大圖像
- 9. 延遲視圖渲染不起作用
- 10. 延遲加載頁面,直到收到AJAX呼叫
- 11. 頁面不渲染,直到BackgroundWorker.RunWorkerAsync完成
- 12. 直到Javascript變量可用時延遲渲染身體
- 13. 阻止css資源。這會導致渲染頁面延遲
- 14. 延遲加載Silverlight頁面
- 15. jquery頁面加載延遲
- 16. PJAX延遲頁面加載
- 17. 延遲加載jsp頁面?
- 18. 延遲加載動態畫面圖像
- 19. 延遲顯示頁面,直到一切都加載
- 20. 延遲哇動畫,直到頁面加載
- 21. 延遲導航到下一個頁面
- 22. 推遲陣營渲染,直到請求
- 23. Rails 3:頁面渲染預覽圖像
- 24. 在渲染頁面中渲染頁面
- 25. 砌體運行遲了頁面渲染
- 26. 延遲加載UICollectionView圖像
- 27. Javascript延遲圖像加載
- 28. ajax加載圖像延遲?
- 29. 延遲加載PhotoLibrary圖像
- 30. HttpWebRequest圖像加載延遲
如果其中一個圖像根本不加載(錯誤的URL或其他東西)會怎麼樣? – nnnnnn
@nnnnnn感謝評論好點(+1),這個腳本只顯示OP的基本概念,並未指定該場景。順便說一下,可以使用'img.onerror'檢測圖像加載是否存在問題,並決定如何處理,例如:顯示錯誤消息,或者即使一頁或更多頁面沒有加載也顯示頁面成功了(但我因爲悲傷取決於OP的使用案例)。 – GibboK