Comunidad de diseño web y desarrollo en internet online

Mostrar imagen mientras se carga una pagina?

Citar            
MensajeEscrito el 29 Mar 2007 05:14 pm
Hola a tod@s! Esta es mi pregunta: En php, Se puede mostrar una imagen mientras se carag la pagina? Es que tengo una pagina de más de 100KB y quisiera mostar una imagen mientras se carga....

Saludos y gracias.

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Mar 2007 09:11 pm
Con javascript creo que se puede hacer mirate este post sacado del FAQ de FDW (Por el SPAM)..Un saludo!

179.- Precarga con barra de progreso

--------------------------------------------------------------------------------

P: ¿Como hacer una precarga viendo el porcentaje de carga?

R: Para llevar el control de las imágenes que se cargan en memoria existe la propiedad "complete" que indica si están completamente cargadas.
Estas tres funciones sirven para ese control:


Código PHP:

Código :

function precargar()    { 
    var dibujos = new Array(precargar.arguments.length); 
    for (var i = 0; i < dibujos.length; i ++)    { 
        dibujos[i] = new Image(); 
        dibujos[i].src = precargar.arguments[i] 
    } 
    return dibujos; 
} 

function precargados(dibujos)    { 
    var parciales = true; 
    for (var i = 0; i < dibujos.length; i ++) 
        parciales = (parciales && dibujos[i].complete); 
    return parciales; 
} 

function porciento(dibujos)    { 
    var parciales = 0; 
    for (var i = 0; i < dibujos.length; i ++) 
        parciales += (dibujos[i].complete) ? 1 : 0; 
    return parseInt(100 * parciales / dibujos.length); 
}  


La idea es hacer un chequeo del estado de carga (precargados) y mostrar el porcentaje (porciento) que es fácilmente aplicable al estilo "width" de una capa. Por ejemplo:


Código PHP:

Código :

var imagenes; 
function continuar()    { 
    alert("Ok."); 
} 

function cargando()    { 
    document.getElementById("estado").style.width = porciento(imagenes) + "%"; 
    if (precargados(imagenes)) 
        continuar(); 
    else 
        setTimeout("cargando()", 100); 
} 

function ini()    { 
    imagenes = new precargar("img0.jpg", 
        "img1.jpg", 
        "img2.jpg", 
        "img3.jpg", 
        "img4.jpg", 
        "img5.jpg", 
        "img6.jpg", 
        "img7.jpg", 
        "img8.jpg" 
    ); 
    cargando(); 
}  


Donde pone continuar(), puede cambiarse el alert por cualquier otra cosa como por ejemplo una activación de un botón o un efecto rollover.

Y el código de la página tendría que tener un elemento con id="estado" para mostrar el porcentaje
Por ejemplo:

Código :

<div style="position:relative; width: 100px; height: 20px; border: 1px" >
<div style="position:absolute; top: 0; left: 0; width:100%; height: 100%; background-color: blue" >
</div>
<div id="estado"
style="position:absolute; top: 0; left: 0; width: 1%; height: 100%; background-color: aqua" >
</div>
</div>


Se activaría con un evento como la carga de la página:
<body onload="ini()">

Por AdRiAnCeTe

45 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 30 Mar 2007 11:25 am
Hola! Antes de nada, muchas gracias por responder, pero no es lo que busco, pues el ejemplo es para precarga de imagenes, y yo no tengo imagenes en la pagina, pero pesa mucho pues tiene un formulairo con muchisimos campos. Saludos

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2007 01:31 pm
porqué mejor no divides tu formulario en varias secciones (una página por sección)? de esa forma evitas recargar una página tan pesada, no es óptimo que hagas eso, imagínate tener que esperar en la web del banco (por tomar un ejemplo) a que se cargue semejante formulario, es muy pesado y engorroso y tus clientes te maldeciran por generaciones...

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.