Enjuto:
Vamos por partes.
1. En tu post original, vos nos decís que necesitas un link que cargue imágenes aleatoreas, eso es, ni más ni menos lo que hace el código último que postee, ejemplo incluido.
2. La imágen no cambia hasta que no se ha cargado por completo, muy bien, eso es lógico, para solucionarlo existe esto...
http://www.forosdelweb.com/f4/preloa...7/#post3556944
(usá el JavaScript, no el Css)
3. El botón "no parece tener ningun efecto".... en primer lugar te repito, a esa demo que te puse le faltan imágenes, era una demo justamente, cuando obtiene las img 5,6,7,8,9,... no hace nada). Igualmente, aunque las tuviera, algo de demora siempre habría, y minima si usas lo de la precarga.
4. Señalaste que no querías tener que recargar la página, asi que en el body, NO hay que poner ningun evento, si el de la precarga(), si es que lo implementas.
5. Al margen de todo, vos podrias hacer que:
Se cambie la imagen al cargar la página
Se cambie la imágen con un click
Y también, que se recargue la imágen
sin recargar la página y sin hacerle click a nada, cada x cantidad de segundos, digamos
El asunto es que planteas el "que querés hacer", no el para y por que, si conociécemos en forma global tu objetivo, quizás podríamos orientarte de otra manera compañero.
Saludos