var ficheros = fichas.split(",");
var actual = 0;
var activo = false;
function presentar(estado) {
var im = new Image();
im.src = ficheros[actual];
var im_alto = im.height;
var im_ancho = im.width;
if (im_alto > alto || im_ancho > ancho) {
var viejo_ancho = im_ancho;
var viejo_alto = im_alto;
var muy_alto = (im_alto - alto) > (im_ancho - ancho);
if (muy_alto) {
im_alto = alto;
im_ancho = Math.floor(im_alto * viejo_ancho / viejo_alto);
}
else {
im_ancho = ancho;
im_alto = Math.floor(im_ancho * viejo_alto / viejo_ancho);
}
}
if (document.getElementById("presente").wid th != im_ancho ||
document.getElementById("presente").heig ht != im_alto) {
document.getElementById("presente").src = "";
document.getElementById("presente").widt h = im_ancho;
document.getElementById("presente").heig ht = im_alto;
}
document.getElementById("presente").src = im.src;
if (actual == ficheros.length - 2)
actual = 0;
else
actual++;
if (estado) setTimeout("presentar(true)", 5000);
}
var alto, ancho;
function medir() {
alto = (document.all) ? document.body.offsetHeight - 10 : window.innerHeight;
ancho = (document.all) ? document.body.offsetWidth - 10 : window.innerWidth;
}
function ini() {
medir();
presentar(true);
}
P.D. He empezado a prepararlo para que funcione también en Netscape, pero los atributos "width" y "height" de un objeto image, parece que no funciona bien. Voy a preguntarlo en el foro HTML.
Saludetes