Необходимо создать веб страницу с психологическим тестом по какой-нибудь теме. Для этого необходимо подобрать тест с числовыми значениями. При нажатии на
«готово» функция должна проверить, все ли поля заполнены. Если заполнены все поля, то должен быть выдан результат. Использовать html, css, javascript
html
<!DOCTYPE html>
<html>
<head>
<title>Психологический тест</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>Психологический тест</h1>
<div id="test-container">
<!-- Здесь будет содержимое теста -->
</div>
<button id="submit-button">Готово</button>
<div id="result-container">
<!-- Здесь будет выводиться результат -->
</div>
<script src="script.js"></script>
</body>
</html>
В данном коде мы создаем заголовок страницы, контейнер для теста, кнопку "Готово" и контейнер для вывода результата. Также подключаем CSS-файл style.css и JavaScript-файл script.js.
2. Оформление страницы с помощью CSS:
Создадим CSS-файл style.css для стилизации страницы. Ниже приведен пример кода:
css
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
h1 {
text-align: center;
}
#test-container {
margin-bottom: 20px;
}
#submit-button {
display: block;
margin: 0 auto;
}
#result-container {
display: none;
margin-top: 20px;
text-align: center;
font-size: 20px;
font-weight: bold;
}
В данном коде мы задаем основной шрифт для страницы, центрируем заголовок, добавляем отступы для контейнеров теста и результата, а также скрываем контейнер с результатом.
3. Создание теста с помощью JavaScript:
Создадим JavaScript-файл script.js для работы с тестом. В примере ниже представлен код, который можно использовать для создания простого теста:
javascript
var questions = [
{
question: "Вопрос 1: Как часто вы испытываете стресс?",
options: [
{ text: "Постоянно", value: 5 },
{ text: "Часто", value: 4 },
{ text: "Иногда", value: 3 },
{ text: "Редко", value: 2 },
{ text: "Никогда", value: 1 }
]
},
// Добавьте еще вопросы здесь
];
var testContainer = document.getElementById("test-container");
var submitButton = document.getElementById("submit-button");
var resultContainer = document.getElementById("result-container");
// Создаем внутреннее содержимое контейнера теста на основе массива вопросов
for (var i = 0; i < questions.length; i++) {
var questionElement = document.createElement("div");
questionElement.classList.add("question");
var questionTextElement = document.createElement("span");
questionTextElement.textContent = questions[i].question;
questionElement.appendChild(questionTextElement);
var optionsElement = document.createElement("div");
optionsElement.classList.add("options");
for (var j = 0; j < questions[i].options.length; j++) {
var optionElement = document.createElement("input");
optionElement.type = "radio";
optionElement.name = "question" + i;
optionElement.value = questions[i].options[j].value;
var optionTextElement = document.createElement("label");
optionTextElement.textContent = questions[i].options[j].text;
optionsElement.appendChild(optionElement);
optionsElement.appendChild(optionTextElement);
}
questionElement.appendChild(optionsElement);
testContainer.appendChild(questionElement);
}
// Обработчик нажатия на кнопку "Готово"
submitButton.addEventListener("click", function() {
// Проверяем, все ли поля заполнены
var allFieldsFilled = true;
var inputElements = document.getElementsByTagName("input");
for (var i = 0; i < inputElements.length; i++) {
if (inputElements[i].type === "radio" && !inputElements[i].checked) {
allFieldsFilled = false;
break;
}
}
// Если все поля заполнены, выводим результат
if (allFieldsFilled) {
var totalScore = 0;
for (var i = 0; i < questions.length; i++) {
var selectedOption = document.querySelector('input[name="question' + i + '"]:checked');
totalScore += parseInt(selectedOption.value);
}
resultContainer.textContent = "Ваш результат: " + totalScore;
resultContainer.style.display = "block";
} else {
alert("Пожалуйста, заполните все поля теста");
}
});
В данном коде мы использовали массив объектов вопросов для создания внутреннего содержимого контейнера теста. Каждый вопрос представлен в виде `<div>` с текстом вопроса и вариантами ответов в виде радиокнопок. Кнопка "Готово" имеет обработчик события для проверки заполненности всех полей и вывода результата.
4. Добавление стилей для теста:
Добавляем следующий CSS-код в файл style.css для стилизации теста:
css
.question {
margin-bottom: 10px;
}
.options {
margin-top: 5px;
}
label {
margin-left: 5px;
}
Эти стили добавят отступы между вопросами и вариантами ответов.
Теперь, когда все необходимые файлы созданы и содержат соответствующий код, вы можете открыть HTML-страницу веб-браузера и пройти психологический тест. После нажатия на кнопку "Готово" будет выведен результат в соответствующем контейнере.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет