如果我理解正確的你,這是我會怎麼做,我會添加一個'加載div'來隱藏html內容,並且在加載所有圖像時我會刪除該div。不僅顯示加載消息和/或加載指示符更加優雅,而且比在圖像之後實際加載頁面更容易。這意味着您在圖像完成後動態地創建和加載內容,您需要做更多的工作。
2)然後,我會選擇所有的圖像,並添加一個簡單的函數,他們的onload事件,將增加載入圖像的數量,並調用一個函數,檢查是否所有的圖像加載。如果所有的圖像都加載了,我會刪除加載div,這就是全部。
下面是一些工作代碼(減去圖像,你需要自己添加它們)。基本上,而不是與圖像的div你應該有自己的html代碼,之前或之後(儘管如此),添加'loading div'(請記住,我的CSS風格,它不是好的做法)
<!doctype html>
<html>
<head>
<script>
window.onload = function() {
var images = document.getElementsByTagName('img'),
totalImages = images.length,
imagesLoaded = 0,
img;
function checkForLoaded() {
if(imagesLoaded === totalImages) {
var loadingDiv = document.getElementById('loadingDiv');
loadingDiv.parentNode.removeChild(loadingDiv);
}
}
for (var i = 0; i < totalImages; i++) {
img = new Image();
img.onload = function() {
imagesLoaded++;
checkForLoaded();
}
img.src = images[i].src;
}
}
</script>
</head>
<body>
<div id="content">
<img src="0001.jpg">
<img src="0002.jpg">
<img src="0003.jpg">
<img src="0004.jpg">
<img src="0005.jpg">
<img src="0006.jpg">
<img src="0007.jpg">
<img src="0008.jpg">
<img src="0009.jpg">
<img src="0010.jpg">
</div>
<div id="loadingDiv" style="height:2000px; width: 2000px; position: absolute; top: 0px; left: 0px; background-color: #FFFFFF">
loading
</div>
</body>
</html>
你期望得到什麼結果?你究竟想要什麼? – Toping
只有在所有圖像加載後才顯示html頁面?如果是這樣,我不確定這是一個非常好的主意,但我想我知道它可以做什麼 – BBog
@Bog,是的,我知道這不是最好的主意,但不幸的是,這就是我需要的...... – Sonhja