画像がコンテンツをできるだけ早くプッシュして、ウェブサイトを訪れた人が下のコンテンツを見ないようにしたい場合は、プレーンな JavaScript をページ全体の読み込み後に実行するのではなく、画像のすぐ下に配置して実行することをお勧めします。イメージがロードされた直後に実行されます。
<img id="banner" src="my-image.jpg">
<script>
var banner = document.getElementById('banner');
banner.onload = function() {
banner.style.marginTop = (window.innerHeight - banner.offsetHeight) + 'px';
};
</script>
それでも、より良いアプローチは、javascript によって画像を DOM にロードすることです
<div id="banner"></div>
<script>
var banner = document.getElementById('banner');
var img = new Image();
banner.appendChild(img);
img.onload = function() {
banner.style.marginTop = (window.innerHeight - banner.offsetHeight) + 'px';
};
img.src = 'my-image.jpg';
</script>