Conteúdo do curso
Além do Estático: Animação CSS
Sobre a Aula

Manipulação dinâmica de animações

Neste tópico, vamos explorar a manipulação dinâmica de animações em integração com JavaScript. A ideia é criar animações que respondam de forma dinâmica às interações do usuário ou a mudanças no estado da aplicação.

Transições Suaves com CSS

Para começar, podemos utilizar transições CSS para criar animações suaves. As transições são perfeitas para estados simples, como alterações de cor, tamanho ou posição.

Vamos ver um exemplo:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: blue;
      transition: background-color 0.5s ease;
    }

    .box:hover {
      background-color: red;
    }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>

Neste exemplo, a cor de fundo da caixa muda suavemente quando o cursor passa sobre ela.

Animações com JavaScript

Para maior controle, podemos usar JavaScript para manipular animações. Vamos criar um exemplo simples utilizando a biblioteca Anime.js:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
</head>
<body>
  <div id="animatedBox" style="width: 100px; height: 100px; background-color: green;"></div>

  <script>
    const box = document.getElementById('animatedBox');

    anime({
      targets: box,
      translateX: 250,
      easing: 'easeInOutQuad',
      duration: 1000
    });
  </script>
</body>
</html>

Este código utiliza a biblioteca Anime.js para animar a translação da caixa para a direita quando a página é carregada.

Respostas a Eventos

Podemos também vincular animações a eventos do usuário. Vamos criar um exemplo simples com um botão:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: orange;
      transition: transform 0.5s ease;
    }
  </style>
</head>
<body>
  <div class="box"></div>
  <button onclick="animateBox()">Mover Caixa</button>

  <script>
    function animateBox() {
      const box = document.querySelector('.box');
      box.style.transform = 'translateX(200px)';
    }
  </script>
</body>
</html>

Neste exemplo, ao clicar no botão, a caixa se move para a direita.

Em resumo, a manipulação dinâmica de animações permite criar interfaces mais interativas e responsivas, melhorando a experiência do usuário.

Seja utilizando transições CSS, bibliotecas como Anime.js, ou respondendo a eventos, a integração com JavaScript abre um leque de possibilidades para animações dinâmicas em suas aplicações web.

Entrar na conversa
Rolar para cima