Editar: delego en Keltex's answer. Es una solución mucho mejor. Dejaré el mío aquí para la posteridad (a menos que deba eliminar el contenido y mi respuesta por completo. Soy nuevo aquí).
Otra solución, que se usaba con bastante frecuencia en el pasado, es crear una página de inicio que precarga todas sus imágenes. Cuando finaliza la precarga, redirige al sitio real. Para que esto funcione, lo que se necesita para obtener las direcciones URL a todas las imágenes que desea cargar, y luego hacer algo como esto:
# on index.html, our preloader
<script type='text/javascript'>
// add all of your image paths to this array
var images = [
'/images/image1.png',
'/images/image2.png',
'/images/image3.png'
];
for(var i in images) {
var img = images[i];
var e = document.createElement('img');
// this will trigger your browser loading the image (and caching it)
e.src = img;
}
// once we get here, we are pretty much done, so redirect to the actual page
window.location = '/home.html';
</script>
<body>
<h1>Loading....</h1>
<img src="loading.gif"/>
</body>
En este caso, si el usuario no ha activado javascript, entonces no verá el div #pagecontent. Correcto ? – xRobot
¿No está el '$ (document) .ready (function()' bastante redundante? '$ (Window) .load' se activará incluso si está fuera del bloque. –
Tiene razón, el identificador' ready' podría probablemente ser eliminado, pero no va a doler nada. – Keltex