#javascript #html #jquery #if-statement #conditional-statements
#javascript #HTML #jquery #if-оператор #условные операторы
Вопрос:
Я сделал тест IQ на JavaScript и дал условия для оценки, что для определенных диапазонов он отображает разные оценки IQ, но независимо от того, сколько правильных ответов он отображает только последнее условие. Я перепробовал так много вещей, но ничего не работает. Мне нужно отправить этот проект в ближайшее время. Я был бы очень признателен, если бы кто-нибудь мог помочь. Я прикрепил соответствующую часть кода ниже.
function displayResult()
{
var score = $('<p>',{id: 'question'});
var correct = 0;
for (var i = 0; i < selectOptions.length; i )
{
if (selectOptions[i] === allQuestions[i].answer) {
correct ;
console.log(correct)
}
}
if (correct < 5){
score.append("Your IQ Score lies in the range of 70-79 which is classified as Bordeline. 6.7% of the world's population falls in this range.<br> <img id='img1' src='BORDERLINE.png' height=90px width=500px/></br>");
}else if (correct>=5 amp;amp; correct < 10){
score.append("Your IQ Score lies in the range of 80-89 which is classified as low average. 16.1% of the world's population falls in this range. <br> <img id='img1' src='LOW AVERAGE.png' height=90px width=500px/></br> ");
}else if (correct >= 10 amp;amp; correct < 20){
score.append("Your IQ Score lies in the range of 90-109 which is
classified as average. 50% of the world's population falls in this range. <br>
<img id='img1' src='AVERAGE.png' height=90px width=500px/></br>");
}else if (correct >= 20 amp;amp; correct <=25){
score.append("Your IQ Score lies in the range of 110-119 which is
classified as high average. 16.1% of the world's population falls in
this range. <br> <img id='img1' src='HIGH AVERAGE.png' height=90px
width=500px/></br>");
}else if(correct >= 25 amp;amp; correct <=30) {
score.append("Your IQ Score lies in the range of 119-129 which is
classified as superior. 6.7% of the world's population falls in this
range.
<br> <img id='img1' src='SUPERIOR.png' height=90px width=500px/>
</br>"); }
return score;
}
<html>
<head>
<title>Make Quiz Website</title>
<link rel="stylesheet" href="quiz.css">
<link href="https://fonts.googleapis.com/css?family=Josefin Sans" rel="stylesheet">
</head>
<body>
<div id="container">
<h1>Quiz Website Using JavaScript</h1>
<br/>
<div id="quiz"></div>
<p id="countdown">30:00</p></h1>
<div class="button" id="next"><a href="#">Next</a></div>
<div class="button" id="prev"><a href="#">Prev</a></div>
</div>
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script src="quiz.js"></script>
</body>
</html>
Комментарии:
1. Кажется, что ваше первое условие
correct == 0 amp;amp; correct < 5
должно использоваться||
вместоamp;amp;
because ifcorrect == 0
, тогда оно уже<5
есть.2. если (правильно = 0 amp;amp; правильно <= 5){ ?
3. да, я имел в виду правильное>= 0
Ответ №1:
(correct = 0 amp;amp; correct <= 5)
будет установлено correct
значение 0. Он не будет проверять его на 0. Даже если вы имеете в виду correct == 0 amp;amp; correct <= 5
, это избыточно, поскольку 0 всегда <= 5 .
Возможно, вы имели в виду correct >= 0 amp;amp; correct <= 5
?
Ответ №2:
Эту часть следует изменить, чтобы она имела какой-либо смысл.
if (correct = 0 amp;amp; correct <= 5){
score.append("YOUR IQ SCORES LIES IN THE RANGE OF 70 and 79 WHICH IS CLASSIFIED AS BORDERLINE <img src='img9b.png'/>");
}
Что-то вроде этого.
if (correct <= 5) {
score.append("YOUR IQ SCORE IS IN THE RANGE OF 70 and 79 WHICH IS CLASSIFIED AS BORDERLINE <img src='img9b.png'/>");
} else if (correct <= 10) {
score.append("YOUR IQ SCORE IS IN THE RANGE OF 80 and 119 WHICH IS CLASSIFIED AS AVERAGE <img src='img9b.png'/>");
} else {
score.append("YOUR IQ SCORE IS ABOVE AVERAGE <img src='img9b.png'/>");
}