Tema: Consulta Js
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/03/2014, 06:31
GreenKhulta
 
Fecha de Ingreso: febrero-2014
Ubicación: Tarragona
Mensajes: 13
Antigüedad: 10 años, 2 meses
Puntos: 1
Respuesta: Consulta Js

a ver si puedo ayudarte, te dejo el demo en codepen: codepen.io/GreenKhulta/pen/eoCls/

supongamos que los elementos que quieres animar tienen un atributo class con el mismo

valor:

Código HTML:
Ver original
  1. <!-- elementos animables -->
  2.  
  3. <div class="div" id="A"></div>
  4. <div class="div" id="B"></div>
  5. <div class="div" id="C"></div>
  6. <div class="div" id="D"></div>
  7. <div class="div" id="E"></div>

entonces, en el código javascript podriamos generar una lista con todos los elementos

con el atributo class y con el valor "div" o el valor que tu especifiques.

a partir de aqui, una vez hayamos detectado si el elemento se encuentra dentro del viewport,

comprobamos el id del elemento y se dispara la animacion concreta para este elemento.

la comprobacion se hace asi:

Código Javascript:
Ver original
  1. else if(lista[i].id =="E"){
  2.         lista[i].style.animation="animacion5 2s";
  3.         lista[i].style.webkitAnimation="animacion5 2s";
  4.       }

aqui se comprueba si el elemento tiene el id == "E". en ese caso se dispara la animacion5.



durante 2s.

aqui esta el codigo entero, que deberias englobar entre los tag <script> y situarlo al final

de la pagina(footer).



Código Javascript:
Ver original
  1. function inViewport () {
  2.  
  3.   var lista = document.querySelectorAll(".div");
  4.  
  5.   for (var i = 0; i < lista.length; i++ ){
  6.    
  7.     if (lista[i].getBoundingClientRect().top < window.innerHeight){
  8.      
  9.       if(lista[i].id == "A"){
  10.         lista[i].style.animation="animacion 2s";
  11.          lista[i].style.webkitAnimation="animacion 2s";
  12.       }
  13.      
  14.       else if(lista[i].id =="B"){
  15.         lista[i].style.animation="animacion2 2s";
  16.         lista[i].style.webkitAnimation="animacion2 2s";
  17.       }
  18.       else if(lista[i].id =="C"){
  19.         lista[i].style.animation="animacion3 2s"
  20.         lista[i].style.webkitAnimation="animacion3 2s";
  21.       }
  22.       else if(lista[i].id =="D"){
  23.         lista[i].style.animation="animacion4 2s";
  24.         lista[i].style.webkitAnimation="animacion4 2s";
  25.       }
  26.       else if(lista[i].id =="E"){
  27.         lista[i].style.animation="animacion5 2s";
  28.         lista[i].style.webkitAnimation="animacion5 2s";
  29.       }
  30.  
  31.   }
  32.   }
  33. }
  34. window.onload = inViewport;
  35. window.onscroll = inViewport;

espero haberme explicado. probablemente haya mejores formas de hacerlo, a ver si alguien mas se anima.

Última edición por GreenKhulta; 22/03/2014 a las 06:37