Ver Mensaje Individual
  #8 (permalink)  
Antiguo 01/06/2003, 05:18
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

Tunait: En el post que puse antes se hablaba de precarga, y de el uso de complete, que indica que se cargado totalmente en memoria, hice unas pruebas y parece que funciona bien.

Preparé una página que se puede ver aquí .

De todos modos es poco el código así que lo voy a insertar.

Código PHP:
<html>
<
head>
<
title>
    
precarga
</title>
<
script language=javascript>
var 
base "http://www.sucaricatura.com/2003/maxi/2003V00";
var 
imagenes;
var 
ventana false;
var 
contenido = [falsefalsefalsefalsefalsefalsefalsefalsefalsefalse];
var 
cargando true;
var 
suma 0;

function 
detalle(n)    {
    var 
info "<html><body><center>";
    
info += "<table style='width:200; height:20; border:1; background-color:aqua'>";
    
info += "<tr><td id='valor' style='background-color: blue; width:0";// + n * 20;
    
info += "'></td><td></td></tr></table></center></body></html>";
    return 
info;
}

var 
stop false;
var 
im 0;
function 
flash()    {
document.images.flash.src imagenes[im].src;
im = ++im 10;
if (!
stopsetTimeout("flash()"250);
}

function 
mostrar()    {
    var 
carga false;
    for (var 
0imagenes.length++)
        if (
imagenes[i].complete)
            if (!
contenido[i])    {contenido[i] = truesuma++;}
    
cargando suma 10;
    if (!
ventana && cargando)    {
        
ventana window.open("""""top=100,left=100,width=250,height=40");
        
ventana.document.writeln(detalle(suma));
    }
    else    
ventana.document.getElementById("valor").style.width suma 20;
    if (
cargandosetTimeout("mostrar()"10);
    else {
ventana.close(); flash();}
}

function 
precarga()    {
    
imagenes = new Array();
    for (var 
010++)    {
        
imagenes[i] = new Image();
        
imagenes[i].src base ".jpg";
    }
    
mostrar();
}

</script>
</head>

<body onload="precarga()">
<center>
<div id=precarga>
    precarga
</div>
<img src="" name=flash onclick="stop = true;">
</center>
</body>
</html> 
La función flash es para probar que se muestran rápidamente, hay que pinchar sobre la transición de imágenes para detenerlas.

Saludos

Hola otra vez:

Hoy subí una versión más bonita en este link .

No copio el código, porque es básicamente el mismo, pero está mejorada la presentación del porcentaje, y se hace una precarga de más imágenes, siendo más fácil de adaptar a distintas necesidades.

En netscape funciona bien, pero me parece que la gestión de la caché no es muy buena... en opera, da unos fallos que no creo que tengan que ver con la precarga.

Saludos

Última edición por caricatos; 01/06/2003 a las 05:18