Animaciones sencillas con jQuery
| JMiur | 
Muchos utilizan jQuery y para ellos, New2WP muestra una forma simple de crear efectos de distino tipo; este, en particular, permite deslizar imagenes de tal modo que superponemos dos y cuando ponemos el cursor encima, se muestra la otra; es decir un efecto hover pero animado:
El script en si mismo es corto, agregamos jQuery antes de </head>:
El script en si mismo es corto, agregamos jQuery antes de </head>:
<script src=
'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js' type='text/javascript'/>
Y debajo, la función:
<script type='text/javascript'>
//<![CDATA[
$(function() {
  $('.animar').hover(function() {
    $(this).children('.front').stop().animate({ "top" : "150px"}, 700);
  }, function() {
    $(this).children('.front').stop().animate({ "top" : "0px"}, 200);
  });
});
//]]>
</script>Por último, un poco de CSS:
<stye>
.animar {
  cursor: pointer;
  height: 150px;
  overflow: hidden;
  position: relative;
  top: 0;
  width: 200px;
}
.animar img {
  height: 150px;
  left: 0;
  position: absolute;
  top: 0;
  width: 200px;
}
</stye>Lo usaremos de este modo:
<div class="animar"> <img src="URL_SEGUNDA_IMAGEN" /> <img src="URL_PRIMERA_IMAGEN" class="front" /> </div>
Todo lo que debemos hacer es colocar dos imágenes dentro de un DIV con la clase animar y adentro, dos imágenes; la segunda de ellas tendrá la clase front y es la que se verá por defecto; como están posicionadas de forma absoluta, están superpuestas y la segunda, tapa la primera.
El tamaño de las imágenes del ejemplo es de 200x150 y el script buscará la imagen con la clase front y cambiará el valor de la propiedad top de tal forma que se "mueva" hacia abajo tanto como el alto de la imagen misma y de esa forma, se verá la otra que está debajo animando ese desplazamiento con una cierta velocidad (700 en este caso):
El tamaño de las imágenes del ejemplo es de 200x150 y el script buscará la imagen con la clase front y cambiará el valor de la propiedad top de tal forma que se "mueva" hacia abajo tanto como el alto de la imagen misma y de esa forma, se verá la otra que está debajo animando ese desplazamiento con una cierta velocidad (700 en este caso):
$(this).children('.front').stop().animate({ "top" : "150px"}, 700); // baja 150 pixelesAl sacar el cursor de encima se restaura la posición a cero pero más rápidamente (200):
$(this).children('.front').stop().animate({ "top" : "0px"}, 200);Lo mismo puede hacerse en cualquier dirección; esto desplaza la imagen hacia arriba:
$(this).children('.front').stop().animate({ "top" : "-150px"}, 700);  // sube 150 pixelesY estas dos, desplazarían la imagen horizontalmente ya que en lugar de top, usamos left:
// hacia la derecha:
$(this).children('.front').stop().animate({ "left" : "200px"}, 700);  // se mueve 200 pixeles a la derecha (valores positivos)
...
$(this).children('.front').stop().animate({ "left" : "0px"}, 200); });
// hacia la izquierda:
$(this).children('.front').stop().animate({ "left" : "-200px"}, 700);  // se mueve 200 pixeles a la izquierda (valores negativos)
...
$(this).children('.front').stop().animate({ "left" : "0px"}, 200); });
No hay comentarios:
Publicar un comentario