Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/11/2013, 16:21
Avatar de danny_
danny_
 
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 4
Respuesta: Ejecutar función u objeto en paralelo

Gracias, no consigo el efecto deseado aunque me ha sido de ayuda tus respuestas. Lo que quiero es que si hay un setInterval en ejecución y hago otra llamada a esa función, la variable inc al estar ya declarada hace saltos desde 0 hasta el último número que contó en el momento que se vuelve a hacer la llamada a la función con el evento onclick.

He probado con las famosas callbacks que hasta el momento no las conocía, pero tampoco he podido solucionarlo. No sé, si me explico lo que te quiero decir. Te dejo un código funcional donde la función va imprimiendo el incremento dentro de un elemento html, con esto será mucho mas visual.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Documento sin título</title>
  5. <script type="text/javascript">
  6.  
  7. function pelicula(elm,jumpPx,spriteHeight,duration){
  8.     var inc=0;
  9.     var time=setInterval(function(){
  10.        
  11.         if(inc<spriteHeight){
  12.            inc+=jumpPx;
  13.            //elm.style.backgroundPosition='0px -'+inc+'px';
  14.             elm.innerHTML=inc;
  15.        }else{
  16.            clearInterval(time);
  17.            elm.style.backgroundPosition='0px -0px';          
  18.        }
  19.    },duration);  
  20. }
  21.  
  22.  
  23. </head>
  24.  
  25.  
  26. <p onclick="pelicula(this,1,1000,1000)">tiempo1</p>
  27. <p onclick="pelicula(this,1,1000,1000)">tiempo2</p>
  28. </body>
  29. </html>


Fíjate que cuando das el primer click funciona perfectamente, pero al accionarlo nuevamente se pierde totalmente la constancia de los números.
__________________
http://www.danielcarvajal.es