Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

riantrovao

ALTERAR IMAGEM AO CLICAR NELA

Recommended Posts

Estou começando a aprender html/css/javascript, e estou com um projeto de um site, vou tentar explicar oq eu quero. Eu tenho 3 imagens de espelhos quebrados e quero que ao clicar em cada imagem apareça a foto dentro do espelho, porém n estou conseguindo e quando eu clico na imagem ela troca apenas de um espelho...

 

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <title>TE AMO</title>
    <meta charset="utf-8">
      <link rel="stylesheet" type="text/css"  href="styles.css" />
     
  </head>
  <body>
<script type="text/javascript">
    function changeImage(a) {
        document.getElementById("quadro1").src=a;
    }
</script>
</div>
      <div class="momentos-menu">
      <img src="imagens/momentos.png" class="momentos">
      <div id="quadro">
      <div class="row">
  <div class="coluna"> 
    <img id="quadro1" src="imagens/quadro.png" onclick='changeImage("imagens/quadro-foto-1.png");'>
  </div>
  <div class="coluna">
    <img id="quadro1" src="imagens/quadro.png" onclick='changeImage("imagens/quadro-foto-2.png");'>
  </div>
  <div class="coluna">
    <img id="quadro1" src="imagens/quadro.png" onclick='changeImage("imagens/quadro-foto-3.png");'>
    
  </div></div>
          </div>
      </div>
   

  </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim

 

function marcar(e) {
  // verifica se a classe azul (estilo css que conter a imagem azul) esta no elemento
  if (e.className == "azul") {
    e.className = "vermelho";
  } else {
    e.className = "azul";
  }
}
.azul::after {
  content: url("img/Azul.gif");
}
.vermelho::after {
  content: url("img/cor-vermelha-30x30.jpg");
}
<div>
  <img class="azul" id="cadeira1" onclick="marcar(this)">
  <img class="azul" id="cadeira2" onclick="marcar(this)">
  <img class="azul" id="cadeira3" onclick="marcar(this)">
</div>

 

Veja uns exemplos aqui de mudar imagem 01      aqui de mudar imagem 02

Compartilhar este post


Link para o post
Compartilhar em outros sites
<img class="quadro" src="imagens/quadro.png" data-image="1" alt="" />
<img class="quadro" src="imagens/quadro.png" data-image="2" alt="" />
<img class="quadro" src="imagens/quadro.png" data-image="3" alt="" />

<script>
    var quadro = document.getElementsByClassName('quadro');
    
    for (var i = 0; i< quadro.length; i++) {
        quadro[i].addEventListener('click', changeImage, false);
    }
    
    function changeImage(e) {
        var clickAtual = e.target;
        clickAtual.src = 'imagens/quadro-foto-' + (clickAtual).dataset.image + '.png';
    }
</script>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, Omar~ disse:

<img class="quadro" src="imagens/quadro.png" data-image="1" alt="" />
<img class="quadro" src="imagens/quadro.png" data-image="2" alt="" />
<img class="quadro" src="imagens/quadro.png" data-image="3" alt="" />

<script>
    var quadro = document.getElementsByClassName('quadro');
    
    for (var i = 0; i< quadro.length; i++) {
        quadro[i].addEventListener('click', changeImage, false);
    }
    
    function changeImage(e) {
        var clickAtual = e.target;
        clickAtual.src = 'imagens/quadro-foto-' + (clickAtual).dataset.image + '.png';
    }
</script>

 

Funcionou perfeitamente , agora gostaria de saber como faço para botar um efeito mais smooth, se puder me ajudar eu agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por belann
      Olá!
       
      Estou usando o nextjs versão 15.2.3 e criei uma navbar que quando é carregado o programa aparece com a home, mas na hora de clicar na página produtos desaparece a navbar.
      A navbar esta sendo chamada no layout.tsx estou usando typescript
      e fica dessa forma
      <div>           <Navbar/>             <main>{children}</main>             </div>  
    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho o seguinte código:
       
      <script>
         $(function(){
      var jElement = $('.fixar_banner');
      $(window).scroll(function(){
          if ( $(this).scrollTop() > 120 ){
              jElement.css({
                  'position':'fixed',
                  'top':'10px'
              });
          }else{
              jElement.css({
                  'position':'relative',
                  'top':'auto'
              });
          }
      });
      });
      </script>
       
      Porém, eu quero que a div fique fixa até que outro elemento apareça na tela, tipo o rodapé da página por exemplo. É mais ou menos como a página de notícia do uol.
      https://noticias.uol.com.br/internacional/ultimas-noticias/2025/01/19/sonho-americano-brasileiros-moram-em-carro-e-buscam-comida-no-lixo-nos-eua.htm
       
      Espero ter sido claro.
       
      Obrigado :)
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.