Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/05/2013, 03:25
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: set intervals infinitos

Buenas,

porque antes de lanzar un nuevo setInterval tendrías que comprobar si existe alguno y cancelar. Según tu ejemplo podría ser algo así:

Código Javascript:
Ver original
  1. function comprobar(fun, time, i)
  2. {
  3.     if(timers[i])
  4.         clearTimeout(timers[i]);
  5.     timers[i] = setInterval(fun, time);
  6. }
  7.  
  8. function muestra(tgt)
  9. {
  10.     destino[tgt.id] = -337;
  11.     comprobar( function( ){ acciones(tgt); },  500, tgt.id );
  12. }
  13.  
  14. function acciones(tgt)
  15. {
  16.   tgt.style.left=(tgt.offsetLeft+destinos[tgt.id])/2+'px';
  17.   if(tgt.offsetLeft<0 && tgt.offsetLeft>-10)
  18.         timers[tgt.id] = null;
  19. }

Me da la sensación de que estás usando un id numérico y eso no es correcto.
__________________
tecnawebs.es Diseño web y programación - Modelado 3D.

google plus