Efectos JQuery

Animaciones con JQuery

JQuery dispone de un conjunto de métodos que permiten crear efectos de una manera muy rápida y sencilla. A continuación se muestran una serie de ejemplos basados en dos botones que permiten mostrar y ocultar una ventana con distintos métodos deJQuery.

  1. <style>
  2. #caja{
  3. width:300px;
  4. height:50px;
  5. border: 5px dashed black;
  6. background: #ccc;
  7. text-align:center;
  8. }
  9. </style>
  10. <button id="mostrar">
  11. Mostrar
  12. </button>
  13. <button id="ocultar">
  14. Ocultar
  15. </button>
  16. <div id="caja">
  17. Caja de prueba
  18. </div>

SHOW - HIDE

  1. $("#mostrar").click(function(){
  2. $(this).hide();
  3. $("#ocultar").show("normal");
  4. $("#caja").show("fast");
  5. });
  6. $("#ocultar").click(function(){
  7. $(this).hide();
  8. $("#mostrar").show("normal");
  9. $("#caja").hide("fast");
  10. });

FADEIN - FADEOUT

  1. $("#mostrar").click(function(){
  2. $(this).hide();
  3. $("#ocultar").show("normal");
  4. $("#caja").fadeIn("slow");
  5. });
  6. $("#ocultar").click(function(){
  7. $(this).hide();
  8. $("#mostrar").show("normal");
  9. $("#caja").fadeOut("slow");
  10. });

FADETO

  1. $("#mostrar").click(function(){
  2. $(this).hide();
  3. $("#ocultar").show("normal");
  4. $("#caja").fadeTo("fast",1);
  5. });
  6. $("#ocultar").click(function(){
  7. $(this).hide();
  8. $("#mostrar").show("normal");
  9. $("#caja").fadeTo("slow",0);
  10. });

SLIDEUP - SLIDEDOWN

  1. $("#mostrar").click(function(){
  2. $(this).hide();
  3. $("#ocultar").show("normal");
  4. $("#caja").slideDown("fast");
  5. });
  6. $("#ocultar").click(function(){
  7. $(this).hide();
  8. $("#mostrar").show("normal");
  9. $("#caja").slideUp("slow");
  10. });

TOGGLE

Los siguientes ejemplos de tipo "toggle"  con un solo botón

  1. <button id="todoenuno">
  2. Todoenuno
  3. </button>
  4. <div id="caja">
  5. Master en Javascript
  6. </div>

toggle (básico)

  1. $("#todoenuno").click(function(){
  2. $("#caja").toggle("fast");
  3. });

fadeToggle

  1. $("#todoenuno").click(function(){
  2. $("#caja").fadeToggle("fast");
  3. });

slideToggle

  1. $("#todoenuno").click(function(){
  2. $("#caja").slideToggle("slow");
  3. });

EFECTOS PERSONALIZADOS

El método animate de JQuery realiza automáticamente transiciones CSS solamente indicando las propiedades directamente.

  1. <button id="todoenuno">
  2. Todoenuno
  3. </button>
  4. <button id="animacion">
  5. Animación
  6. </button>
  7. <div id="caja">
  8. Master en Javascript
  9. </div>


  1. $("#todoenuno").click(function(){
  2. $("#caja").slideToggle("fast");
  3. });
  4. $("#animacion").click(function(){
  5. $("#caja")
  6. .animate({
  7. marginLeft: "500px",
  8. fontSize: "30px",
  9. height: "110px",
  10. },"slow")
  11. .animate({
  12. borderRadius: "150px",
  13. marginTop: "80px"
  14. },"slow")
  15. .animate({
  16. borderRadius: "0px",
  17. marginLeft: "0px"
  18. },"slow");
  19. });

Los métodos de animación permiten añadir callbacks que ayudan en los casos en los que se necesita añadir otra acción una vez la animación ha cargado completamente.

Añadiendo callback manteniendo el ejemplo anterior:

  1. $("#todoenuno").click(function(){
  2. //$("#caja").toggle("fast");
  3. //$("#caja").fadeToggle("fast");
  4. $("#caja").slideToggle("fast",function(){
  5. //se añade un callback si queremos que se ejecute justo una vez acabada la animación
  6. //$(this).text("Hello");
  7. });
  8. });
  9. $("#animacion").click(function(){
  10. $("#caja")
  11. .animate({
  12. marginLeft: "500px",
  13. fontSize: "30px",
  14. height: "110px",
  15. },"slow")
  16. .animate({
  17. borderRadius: "150px",
  18. marginTop: "80px"
  19. },"slow")
  20. .animate({
  21. borderRadius: "0px",
  22. marginLeft: "0px"
  23. },"slow",function(){
  24. //se añade un callback si queremos que se ejecute justo una vez acabada la animación
  25. $(this).text("Animación completada");
  26. });
  27. });


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso