Ir para conteúdo
geoleandro

Inserir mudança de cor em questões - Quiz Javascript

Recommended Posts

Boa tarde pessoal

 

Eu gostaria de alterar o background das alternativas abaixo para a cor verde, senão para vermelho. Porém só consigo fazer para o formulário inteiro.

Estou travado nessa parte, qualquer ajuda seria bem-vinda.

Obrigado

 

 

 

 

 

 

 

 

 

<!DOCTYPE html>
<html>
<body>

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<div style='line-height: 25px;font-family: arial;'

<p align="justify">


<br/>
Responda as questões a seguir:
<br/>


<form id = "quiz" name = "quiz">

<p>Qual é a capital do Peru?</p>
<input id = "textbox" type = "text" name = "q1">
<br>

<p>Qual é a capital do Equador?</p>
<input type = "radio" id = "multipla" name = "q2" value = "Quito"> Quito<br>
<input type = "radio" id = "multipla" name = "q2" value = "Quieto"> Quieto<br>


<p>Qual é a capital da Argentina?</p>
<input type = "radio" id = "multipla" name = "q3" value = "Buenas tardes"> Buenas tardes<br>
<input type = "radio" id = "multipla" name = "q3" value = "Buenos Aires"> Buenos Aires<br>

<br><br>

<input id = "button" type = "button" value = "Conferir" onclick = "checar()">
</form>

</div>


<p id = "numeroCorreto"></p>

<p id = "mensagem"></p>

<img id = "imagem" style= width="300" height="150">

<p id = "cor"></p>

</div>


<script>

function checar() {


var q1 = document.quiz.q1.value;
var q2 = document.quiz.q2.value;
var q3 = document.quiz.q3.value;
var corretas = 0;

var cor = ["#006400", "#006400","#FF0000" ];

    if (q1 == "Lima") {
    corretas++; 
    
    
}    


    if (q2 == "Quito") {
    corretas++; 
    
}    

    if (q3 == "Buenos Aires") {
    corretas++;
    
    
}


var mensagem = ["Parabéns!", "Foi bom!", "Melhor tentar novamente!"];

var imagem = ["img1.gif", "img2.gif", "img3.gif"];

var pontos;

    if (corretas < 1) {
        pontos = 2;
        
    }

    if (corretas > 0 && corretas < 3) {
        pontos = 1;
    }


    if (corretas > 2) {
        pontos = 0;
        
    }


    document.getElementById ("numeroCorreto").innerHTML = "Você acertou " + corretas + " de 3 perguntas.";
    document.getElementById ("mensagem").innerHTML = mensagem[pontos];
    document.getElementById ("imagem").src = imagem[pontos];
    document.getElementById("quiz").style.backgroundColor = cor [pontos];
    
}

</script>


</div>


</p>


</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consegui resolver adicionando "id" no parágrafo <p>.

Ex. <p id="p1"><input type = "radio" id = "q2" name = "q2" value = "Quito"> Quito</p>.

 

if (q2 == "Quito") {
    corretas++; 
    document.getElementById ("p1").style.backgroundColor = cor[0];
    
    }    else {
        document.getElementById ("p2").style.backgroundColor = cor[2];

 

Obrigado, vou continuar estudando para ser experiente. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por geoleandro
      O botão voltar funciona, mas ele adiciona uma questão na variável "numQ".
      Onde está o erro no código abaixo:
      <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .imgbox { float: left; text-align: center; width: 150px; border: 1px solid #ddd; margin: 4px; padding: 5px; } #mylabel { text-align: left; } </style> <body onload="loadquestion()"> <p id="numQ"> <p id="mylabel" name="questao">Questões</p><br> <div class="imgbox" id="imgbox1"><br> <input type="image" src=" " width =auto height= 80px id="btn0" value="option0" name="opt0" onclick="checkans(1)"><br><br> </div> <div class="imgbox" id="imgbox2"><br> <input type="image" src=" " width =auto height= 80px id="btn1" value="option1" name="opt1" onclick="checkans(2)"><br><br> </div> <br><br><br><br><br><br><br><br><br> <div class="imgbox" id="imgbox3"><br> <input type="image" src=" " width =auto height= 80px id="btn2" value="option2" name="opt2" onclick="checkans(3)"><br><br> </div> <div class="imgbox" id="imgbox4"><br> <input type="image" src=" " width =auto height= 80px id="btn3" value="option3" name="opt3" onclick="checkans(4)"><br><br> </div> <br><br><br><br><br><br> <br><br><br><br> <input type="button" id="next" value="Próximo" name="nxtbtn" onclick="changequestion()"><br><br> <input type="button" id="back" value="voltar" name="bkbtn" onclick="backQ()"><br><br> <p id="erro"> <p id="pontos"> <p id="questAtual"> <script type="text/javascript"> i=0; var pontos = 0; var numQ = 1; myqs=[["Clique na foto 3 ?","img3.gif", "img2.gif","img1.gif","img1a.gif","3"], ["Clique na foto 2 ?","icone.png","icone2.png","certo.png","certo.png","2"], ["Clique na foto 4","icone.png","errado.png","certo.png","certo.png","4"] ]; function loadquestion() { document.getElementById("mylabel").innerHTML= myqs[i][0]; document.getElementById("btn0").src= myqs[i][1]; document.getElementById("btn1").src= myqs[i][2]; document.getElementById("btn2").src= myqs[i][3]; document.getElementById("btn3").src= myqs[i][4]; document.getElementById ("numQ").innerHTML = "Questão " + numQ + " de " + myqs.length; document.getElementById("next").value = "Próximo"; document.getElementById("next").style.backgroundColor = "lightgray"; numQ++; document.getElementById("imgbox1").style.backgroundColor = "white"; document.getElementById("imgbox2").style.backgroundColor = "white"; document.getElementById("imgbox3").style.backgroundColor = "white"; document.getElementById("imgbox4").style.backgroundColor = "white"; document.getElementById("erro").innerHTML = ""; document.getElementById("erro").style.color = ""; } function changequestion(){ i=i+1; loadquestion(); } function backQ(){ loadquestion(); i=i-1 } function checkans(a){ respostas =parseInt(myqs[i][5]); if(respostas==a && respostas==3){ pontos++; document.getElementById ("pontos").innerHTML = "Você acertou " + pontos ; document.getElementById("imgbox3").style.backgroundColor = "#99ff99"; } else if(respostas==a && respostas==2){ pontos++; document.getElementById ("pontos").innerHTML = "Você acertou " + pontos ; document.getElementById("imgbox2").style.backgroundColor = "#99ff99"; } else if(respostas==a && respostas==4){ pontos++; document.getElementById ("pontos").innerHTML = "Você acertou " + pontos ; document.getElementById("imgbox4").style.backgroundColor = "#99ff99"; } else { document.getElementById("erro").innerHTML = "Incorreta"; document.getElementById("erro").style.color = "red"; } } </script> </head> </body> </html>  
    • Por paulo.e.monteiro2015
      Boa noite,
       
      Possuo o seguinte array
      Array ( [0] => Array ( [0] => 564 [IdPergunta] => 564 [1] => 66 [IdQuiz] => 66 [2] => A EMS é líder no mercado farmacêutico há quantos anos? [DescricaoPergunta] => A EMS é líder no mercado farmacêutico há quantos anos? [3] => 1 [NumeroPergunta] => 1 ) [1] => Array ( [0] => 565 [IdPergunta] => 565 [1] => 66 [IdQuiz] => 66 [2] => A cada 100 medicamentos vendidos no Brasil 13 são de qual laboratório? [DescricaoPergunta] => A cada 100 medicamentos vendidos no Brasil 13 são de qual laboratório? [3] => 2 [NumeroPergunta] => 2 ) [2] => Array ( [0] => 566 [IdPergunta] => 566 [1] => 66 [IdQuiz] => 66 [2] => Qual medicamento controlado e lançamento dos Genéricos EMS é indicado para alívio de dores e possui formato de fácil deglutição? [DescricaoPergunta] => Qual medicamento controlado e lançamento dos Genéricos EMS é indicado para alívio de dores e possui formato de fácil deglutição? [3] => 3 [NumeroPergunta] => 3 ) [3] => Array ( [0] => 567 [IdPergunta] => 567 [1] => 66 [IdQuiz] => 66 [2] => Os Genéricos EMS possuem o maior portfólio do Brasil, com 195 moléculas, que atendem 96% das classes terapêuticas. Qual o número total de apresentações? [DescricaoPergunta] => Os Genéricos EMS possuem o maior portfólio do Brasil, com 195 moléculas, que atendem 96% das classes terapêuticas. Qual o número total de apresentações? [3] => 4 [NumeroPergunta] => 4 ) [4] => Array ( [0] => 568 [IdPergunta] => 568 [1] => 66 [IdQuiz] => 66 [2] => A EMS possui quantos anos de história? [DescricaoPergunta] => A EMS possui quantos anos de história? [3] => 5 [NumeroPergunta] => 5 ) [5] => Array ( [0] => 569 [IdPergunta] => 569 [1] => 66 [IdQuiz] => 66 [2] => Qual lançamento Genéricos EMS é o primeiro genérico do mercado indicado para o tratamento do Transtorno do Déficit de Atenção e Hiperatividade? [DescricaoPergunta] => Qual lançamento Genéricos EMS é o primeiro genérico do mercado indicado para o tratamento do Transtorno do Déficit de Atenção e Hiperatividade? [3] => 6 [NumeroPergunta] => 6 ) ) Preciso criar uma navegação item a item deste, para que possa dar a opção do usuário responder ao Quiz.
      Preciso muito desta ajuda pois tenho muita urgência em resolver isso. É só isso que falta para terminar o Quiz.
       
      Att.
    • Por Naldinhosi
      Ola Pessoal, estou quebrando a cabeça para tentar desenvolver um simulador de planos.
      Onde a pessoa escolhe algumas informações e no final gera um resultado baseado na escolha delas. como a TIM, NET entre outras empresas.
      gostei do modelo do site da xp https://assessoriavirtual.xpi.com.br/#/ gostaria de fazer um baseado nesse quesito, alguém poderia me dar um norte
      de como devo começar ou algum link de exemplo.
       
       
    • Por Camilla03
      Elabore um QUIZ de 10 perguntas e respostas sobre cada disciplina: Matemática, Sociologia e Filosofia do 1o ano. Cada pergunta deverá ter 5 opções de escolha de resposta. Além disso, cada questão contemplará duas tentativas do usuário, isto é, se o usuário responder uma resposta incorreta, terá uma 2a chance na questão que valerá 70% da nota desta questão. Cada questão deverá dar "feedback" (retorno ao usuário) de acerto ou dica se o usuário não acertar. O usuário escolherá no início do programa sobre qual disciplina ele deseja responder as questões. Ao final de cada rodada, exiba um ranking de notas.
    • Por rnpin
      Olá!

      Eu tenho um quiz já criado em web e quando as pessoas o respondem, a resposta chega no meu e-mail.
      É um total de 12 questões múltipla escolha, e para cada resposta que a pessoa der, existe uma avaliação diferente que preciso enviar. Exemplo: Questão 1 - resposta a = avaliação x; reposta b = avaliação y; resposta c = avaliação z etc.
      Eu precisava de um jeito pra automatizar o envio dessas avaliações para as pessoas, onde a avaliação correspondente ao que ela respondeu nas doze quetões fosse enviada junto por e-mail pra ela, seja num HTML, num PDF, Word... 
      Alguém sabe se isso possível? Desse modo que preciso ou de algum outro?
×

Informação importante

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