Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/01/2011, 13:37
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Preloader en archivo.php ?

Hace tiempo encontré un preloader para hacer lo que tú pides fácilmente. le quité la morralla y dejé ésto:

Código PHP:
<?php
$imagenes
=array("img1.jpg","img2.jpg","img3.jpg","img4.jpg");
?>
<SCRIPT> 
    //Para imagenes en arrays javascrip
    var imagenes=["img1.jpg","img2.jpg","img3.jpg","img4.jpg"];
    //Para imagenes cargadas en arrays de PHP
    var imagenes=<?php echo json_encode($imagenes); ?>
    //Objeto cargador. NO TOCAR.
    var cargador={onComplete:function(){},onLoaded:function(){},current:null,qLength:0,images:[],inProcess:false,queue:[],queue_images:function(){var arg=arguments;for(var i=0;i<arg.length;i++){if(arg[i].constructor===Array){this.queue=this.queue.concat(arg[i])}else if(typeof arg[i]==='string'){this.queue.push(arg[i])}}},process_queue:function(){this.inProcess=true;this.qLength+=this.queue.length;while(this.queue.length>0){this.load_image(this.queue.shift())}this.inProcess=false},load_image:function(imageSrc){var th=this;var im=new Image;im.onload=function(){th.current=im;th.images.push(im);(th.onLoaded)();if(th.queue.length>0&&!th.inProcess){th.process_queue()}if(th.qLength==th.images.length){(th.onComplete)()}};im.src=imageSrc}}
    
    //Definimos la funcion oncomplete, que se ejecutará cuando se carguen todas las imágenes. Solo se ejecuta una vez, como es obvio.
    cargador.onComplete=function (){
            //Poner visible la capa donde están las fotos, o lo que sea.
    }
    
    //Esta función se disparará una vez por cada foto cargada.
    cargador.onLoaded=function(i){
        //la imagen del array con índice i acaba de cargarse con éxito
        //Podemos utilizar esta función para hacer una barra de loading típica de 0% a 100%
    }
    
    //Con esta orden le pasamos al objeto cargador el array de imágenes a cargar.
    cargador.queue_images(imagenes);
    //Con esta orden ponemos las imágenes a cargar.
    cargador.process_queue();


</SCRIPT>
Las imágenes <IMG src="img1.jpg" />, etc, tienes dos opciones:
Las metes en un div de inicio, junto al resto de la página, que inicialmente está con display:none o visibility:hidden, o creas el objeto IMG con javascript con CREATEELEMENT y APPENDCHILD para meterlas donde quieras.

Última edición por marlanga; 21/01/2011 a las 13:45