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

Buenas gente,

Necesito realizar una función para generar una animación modificando la position background del css.

La función que he creado funciona perfectamente, pero falla un grandísimo detalle, y es que intento reutilizar esa función para varios eventos en mi html, pero al parecer javascript no ejecuta las funciones en paralelo cada vez que se hace una llamada desde un evento.

Os dejo un fragmento de código.

Código Javascript:
Ver original
  1. var time=null;
  2. //parámetros (elementoHtml,Salto que da en cada iteración, el alto total del sprite con las capas, tiempo de duracion)
  3. function pelicula(elm,jumpPx,spriteHeight,duration){
  4.     if(time==null){
  5.        
  6.        
  7.                time=setInterval(action,duration);//255
  8.  
  9.        
  10.     }
  11.     var inc=0;
  12.     function action(){
  13.        
  14.         if(inc<spriteHeight){
  15.             inc+=jumpPx;
  16.             elm.style.backgroundPosition='0px -'+inc+'px';
  17.         }else{
  18.             clearInterval(time);
  19.             elm.style.backgroundPosition='0px -0px';
  20.             time=null;
  21.            
  22.         }
  23.     }
  24.    
  25. }

Código HTML:
Ver original
  1. <div id="gear" onmouseover="pelicula(this,124,992,200)">
  2.    <div id="code" onmouseover="pelicula(this,124,1116,340)">



Mi duda es, como generar varios eventos en paralelo sin que eso afecte al que esta ejecutándose (si se ha activado alguna de las animaciones con el evento).
En cuanto ejecuto la animación del div id="gear" y acto seguido quiero activar la otra animación me da problemas.

Saludos!!!
__________________
http://www.danielcarvajal.es