Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Meu projeto, com botões e efeitos

Projeto online: https://barbaraishioka.github.io/desenvolve__gbtech__2023/projects/robotron__2000

Gostaria de saber se alguém sabe colocar um efeito de animação na imagem do robô a cada vez que for trocado a imagem utilizando as setas.

Só consegui colocar o efeito de animação no robô no primeiro carregamento da página.

2 respostas
solução!

Adicionar animação em uma imagem a cada vez que ela é alterada pode ser alcançado usando JavaScript junto com CSS para criar a animação. Aqui está um exemplo simplificado de como isso pode ser feito:

Primeiro, vamos definir a animação no CSS:

@keyframes fade-in {
  0%   {opacity: 0;}
  100% {opacity: 1;}
}

.img-animate {
  animation: fade-in 1s;
}

Agora, vamos supor que temos um botão que, quando clicado, altera a imagem do robô e adiciona a classe de animação:

var botao = document.getElementById('botao');
var robo = document.getElementById('robo');

botao.addEventListener('click', function() {
  // Alterar a imagem do robô aqui. Por exemplo:
  robo.src = 'novo-robo.jpg';

  // Adicionar a classe de animação
  robo.classList.add('img-animate');

  // Remover a classe de animação quando a animação terminar para que ela possa ser adicionada novamente na próxima mudança de imagem
  robo.addEventListener('animationend', function() {
    robo.classList.remove('img-animate');
  }, {once: true});  // O evento será removido após ser chamado uma vez
});

Neste exemplo, a animação fade-in é definida no CSS e a classe img-animate é adicionada ao elemento de imagem sempre que a imagem é alterada. A classe é removida após a animação terminar, o que permite que a animação seja reiniciada na próxima vez que a imagem for alterada.

Essa é uma solução simples que apenas desvanece a imagem. Dependendo do efeito de animação que você deseja, pode precisar ajustar o CSS e o código JavaScript.

Olá, Inasio.

Vou tentar inserir no meu código!

Muito obrigada pela explicação!