私があなたを正しく理解した場合、これは私がそれを行う方法です:
1)まず、「loading 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>