Ir para conteúdo

POWERED BY:

Arquivado

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

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

  • 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.