Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/02/2009, 13:19
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: setTimeout no funciona

El problema es, además de lo dicho por David El Grande, que estás modificando c.

Quiero decir, en el bucle vas aumentando c y lanzando los timeouts con la referencia a c. Lo que van a ver esos timeout no va a ser el valor de c en el momento de crear el timeout, sino en el momento de ejecutarse.

La solución a ambos problemas es fácil: No lances los timeout en un bucle sino uno después de otro:

Código javascript:
Ver original
  1. function opacidad(opac) {
  2.     opac = opac || 0;
  3.     setOp(document.getElementById('as'),opac);
  4.     if (opac<100) setTimeout(function() { opacidad(opac+1) } , 100);
  5. }
  6. // y lo lanzamos donde corresponda así:
  7. opacidad();