Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/01/2014, 10:11
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 11 meses
Puntos: 22
De acuerdo Respuesta: Problema con addEventListener!

Cita:
Iniciado por Alexis88 Ver Mensaje
En ese caso, puedes darle inicialmente una posición cero, retardas unas milésimas de segundo la siguiente acción y luego haces bajar la bolita 100px...
Algo parecido se me había ocurrido inicialmente, pero no lo hice porque, te comento, creía que JS tenía una función especial para reiniciar todo. Así como pones el código se ejecuta bien. La bronca viene si le pones transiciones CSS para que se vea el movimiento, por ejemplo a #bola: -webkit-transition:all ease 1s;

Pero haciendo unos cambios, se logra ver la animación:

Código CSS:
Ver original
  1. #caja1, #caja2, #caja3 {display:inline-block; width:100px; height:100px; background-color:#999;}
  2. #bola {
  3.     width:100px;
  4.     height:100px;
  5.     background-color:black;
  6.     border-radius:50px;
  7. }
  8.  
  9. @-webkit-keyframes ida
  10. {
  11.     0%   {-webkit-transform:translateY(0px);}
  12.     100% {-webkit-transform:translateY(100px);}
  13. }
  14. @-webkit-keyframes vuelta
  15. {
  16.     0%   {-webkit-transform:translateY(100px);}
  17.     100% {-webkit-transform:translateY(0px);}
  18. }

Código Javascript:
Ver original
  1. window.onload = function()
  2. {
  3.   caja1 = document.getElementById("caja1");
  4.   caja2 = document.getElementById("caja2");
  5.   bola  = document.getElementById("bola");
  6.  
  7.   caja1.addEventListener("click", moverBola, false);
  8.   caja2.addEventListener("click", moverBola, false);
  9.  
  10.  
  11.   function moverBola()
  12.   {
  13.       bola.style.WebkitAnimationName = 'vuelta';
  14.       bola.style.WebkitAnimationDuration = '1ms';
  15.       bola.style.WebkitAnimationTimingFunction = 'ease';
  16.       bola.style.WebkitAnimationIterationCount = '1';
  17.       bola.style.WebkitAnimationFillMode = 'forwards';
  18.  
  19.       setTimeout(function()
  20.       {
  21.           bola.style.WebkitAnimationName = 'ida';
  22.           bola.style.WebkitAnimationDuration = '1s';
  23.           bola.style.WebkitAnimationTimingFunction = 'ease';
  24.           bola.style.WebkitAnimationIterationCount = '1';
  25.           bola.style.WebkitAnimationFillMode = 'forwards';
  26.          
  27.       },1);
  28.   }
  29. }


Saludos!