-2
Hello! I made a feature using Javascript to swap one image for another. The idea is that there is a main image, that main image should be switched when clicking on the secondary images below it, and that the main image turns the image that was clicked on. Not to make a function for each image, I tried to make a function only with switch case, in which the DOM returns the SRC of the images, in different variables and in each case the main image takes the value of the secondary. But when I click on the images, nothing happens and the console returns the following message:
trocaImagem.js:3 Uncaught Typeerror: Cannot set Property 'src' of null exchangeImage (exchangeImage.js:3) Htmlimageelement.onclick (index.html:202)
Please, can you help me?
Follow the JS and HTML codes
function trocaImagem(){
var imagemPrincipal = document.getElementById("imagem_principal").src
var imagem_certificado01 = document.getElementById("imagem_certificado01").src
var imagem_certificado02 = document.getElementById("imagem_certificado02").src
var imagem_certificado03 = document.getElementById("iamgem_certificado03").src
var imagem_certificado04 = document.getElementById("imagem_certificado04").src
var pegaImagem = [imagem_certificado01, imagem_certificado02, imagem_certificado03, imagem_certificado04]
switch (pegaImagem){
case 01:
imagemPrincipal = imagem_certificado01
break;
case 02:
imagemPrincipal = imagem_certificado02
break;
case 03:
imagemPrincipal = imagem_certificado03
break;
case 04:
imagemPrincipal = imagem_certificado04
break;
}
}
<!--------------------------------------SEÇÃO DE DIPLOMAS E CERTIFICADOS--------------------------------------------->
<section class="jumbotron bg-transparent">
<h1 data-aos="fade-up" class="display-4">Diplomas e Certificados</h1>
<hr class="my-4">
<section class="certificado_principal">
<div ata-aos="fade-up" class="border border-dark card text-center m-3 p-3 bg-secondary text-white" style="width: 50rem;">
<img src="img/diploma01.jpg" class=" imagem_certificado_principal border border-warning card-img-top w-100 text-center imagem_diploma" alt="Imagem de Bootstrap">
<div class="card-body">
<p class="card-text">Diploma de Ensino Superior - Tecnologia em Análise e Desenvolvimento de Sistemas - UniÍtalo 2019</p>
</div>
</div>
</section>
<section class= "diplomas ">
<div ata-aos="fade-up" class=" border border-dark card text-center m-3 p-3 bg-secondary text-white" style="width: 25rem;">
<img src="img/diploma01.jpg" onclick="trocaImagem()" class=" imagem_certificado01 border border-warning card-img-top w-100 text-center imagem_diploma" alt="Imagem de Bootstrap">
<div class="card-body">
<p class="card-text">Diploma de Ensino Superior - Tecnologia em Análise e Desenvolvimento de Sistemas - UniÍtalo 2019</p>
</div>
</div>
<div ata-aos="fade-up" class=" border border-dark card text-center m-3 p-3 bg-secondary text-white" style="width: 25rem;">
<img src="img/certificadoteste.jpg" onclick="trocaImagem()" class="imagem_certificado02 border border-warning card-img-top w-100 text-center imagem_diploma" alt="Imagem de Bootstrap">
<div class="card-body">
<p class="card-text">Diploma de Ensino Superior - Tecnologia em Análise e Desenvolvimento de Sistemas - UniÍtalo 2019</p>
</div>
</div>
<div ata-aos="fade-up" class=" border border-dark card text-center m-3 p-3 bg-secondary text-white" style="width: 25rem;">
<img src="img/certificadoteste4.png" onclick="trocaImagem()" class=" imagem_certificado03 border border-warning card-img-top w-100 text-center imagem_diploma" alt="Imagem de Bootstrap">
<div class="card-body">
<p class="card-text">Diploma de Ensino Superior - Tecnologia em Análise e Desenvolvimento de Sistemas - UniÍtalo 2019</p>
</div>
</div>
<div ata-aos="fade-up" class=" imagem05 border border-dark card text-center m-3 p-3 bg-secondary text-white" style="width: 25rem;">
<img src="img/diplomatestecaelum.jfif" onclick="trocaImagem()" class=" imagem_certificado04 border border-warning card-img-top w-100 text-center imagem_diploma" alt="Imagem de Bootstrap">
<div class="card-body">
<p class="card-text">Diploma de Ensino Superior - Tecnologia em Análise e Desenvolvimento de Sistemas - UniÍtalo 2019</p>
</div>
</div>
</section>
<!------------------------------------------------------------------------------------------------------------------->
Thank you!
There are no elements with the id’s on the lines where you try to catch the .src. For example, here:
var imagemPrincipal = document.getElementById("imagem_principal").src
..there is no element with idimagem_principal
.– Sam