Foros del Web » Programando para Internet » Javascript »

Preload de imagenes con barra de progreso...

Estas en el tema de Preload de imagenes con barra de progreso... en el foro de Javascript en Foros del Web. Código HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content= "text/html; charset=iso-8859-1" /> <title> Cargar Imagen </title> ...
  #1 (permalink)  
Antiguo 28/01/2009, 06:03
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Pregunta Preload de imagenes con barra de progreso...

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cargar Imagen</title>
<script language="JavaScript" type="text/javascript">
//////////// cargar ///////////////
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); 
} 

//////////// cargar ///////////////

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("http://www.bitcircus.com/albums/avr/LoctiteGreen.jpg"); 
    cargando(); 
}  

</script>
</head>

<body onload="ini()"> 
<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>

</body>
</html> 

estoy tratando de hacer una barra de progreso, que muestre el porcentaje de carga de una imagen o pagina a medida que se carga...

pero no me funciona... cuando carga todo recien me muestra que cargo todo pero no hace el progreso porcentaje por porcentaje...

como puedo hacerlo?
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #2 (permalink)  
Antiguo 28/01/2009, 06:07
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Preload de imagenes con barra de progreso...

algo asi como cuando abres una pagna en flash y te muestra una barra de progreso con un porcentaje arriba... y va a avanzando la barra a medida que carga la pagina, hasta que termina de cargar y muestra el contenido...

eso mismo quiero pero en javascript...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #3 (permalink)  
Antiguo 28/01/2009, 07:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Preload de imagenes con barra de progreso...

Hola

Pruaba con esto

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 28/01/2009, 11:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Preload de imagenes con barra de progreso...

Hola:

Las imagenes tienen el evento load que modifican el atributo complete... entonces hay dos formas de estudiar la carga de imágenes... una asincrona, esperando que se cargue la imagen y programando el evento load, y la otra forma es sincrona, consultando con cierta frecuencia el atributo complete... pero en ambos casos solo se puede saber si se ha vargado totalmente y nunca nos indica el porcentaje de cada imagen, por lo que el script que se refiere (en ambos casos) solo tiene sentido con más de una imagen... para solo una imagen me parece mejor tapar esa imagen con un reloj de arena o similar, y ocultar esa capa con el evento load, aunque si consideramos que nuestro visitante puede tener javascript desactivado, para solo una imagen no creo que interese su implementación.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 28/01/2009, 13:43
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Preload de imagenes con barra de progreso...

es una sola imagen la que quiero cargar, pero muy grande...


en realidad lo que quiero hacer es lo siguiente:
tengo un sistema lightbox implementado.. que al hacer click en la imagen se abre y muestra el relojito ese cargando... pero tarda mucho en cargar y no te dice cuanto falta, y cansa esperar asi...

entonces en ves de ese relojito quiero ponerle el progress bar con porcentaje...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #6 (permalink)  
Antiguo 29/01/2009, 05:42
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Preload de imagenes con barra de progreso...

hay paginas que detectan la velocidad de conexion... por ejemplo: http://www.upseros.com/testvelocidad.php


si detectamos la velocidad de conexion y sabemos el tamaño de la imagen que esta en nuestro server, podemos calcular cuanto tardaria en descargarse y en base a eso hacer una barra con porcentaje... claro que seria estimado... pero ya es algo....

alguien tiene una idea de como hacer esto?
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.