Cita:
Iniciado por laratik Hola Profesor_Lambetain ¿Sobre que navegador te ejecuta solo dos veces? he probado tu script en IE9 y Chrome 13, al parecer funciona correctamente pues después de más de un minuto me sigue cambiando de imagen cada 5 segundos. Tambien puedes probar a utilizar recursividad con setTimeout, lo cual lograra un efecto parecido al utilizar setInterval:
Pues no se si al momento de decir apaños te refieres a la utilización de inputs type hidden (lo cual me parece muy "chapuza"), pues sin recargar la pagina lo estas haciendo bien al utilizar javascript. Si es a eso a lo que te refieres claro que existe una forma más "elegante" de resolver tu problema:
Código Javascript
:
Ver original<SCRIPT TYPE="text/javascript">
function cambiarImagen(i) {
if(i==15) {
i = 0;
}
document.images.item(0).src = (i+1)+".jpg";
document.images.item(1).src = (i+2)+".jpg";
document.images.item(2).src = (i+3)+".jpg";
document.images.item(3).src = (i+4)+".jpg";
document.images.item(4).src = (i+5)+".jpg";
setTimeout(function(){cambiarImagen(i+5)},5000);
}
</SCRIPT>
llamada a la funcion:
Código HTML:
<body bgcolor="FFFFFF" onLoad="cambiarImagen(0);">
Hola
laratik: he probado tu script con setTimeout y
me funciona perfectamente (en mi IE8, que no ni 6 ni 7). Tu script es, desde luego, más elegante, más conciso, más racional, y no hace uso de formulario con campos
hidden como yo había concebido al principio.
Me pregunté si una función podría invocarse a sí misma (recursividad) pero, sin probar la idea, la dejé de lado para no "introducir" otro factor desconocido por mí... otra cosa útil que me has enseñado.
Mil gracias nuevamente.