Что понадобится?
- Редактор кода – любой (Notepad, VS Code, Sublime Text).
- Браузер – Chrome, Firefox, Edge или любой современный браузер.
Структура гадалки
Самый простой вариант состоит из трёх частей:
- CSS (по желанию) – оформление страницы.
- JavaScript – массив предсказаний и логика их случайного выбора.
Откройте новый файл, назовите его gadalka.html и вставьте следующий код:
<html lang=»ru»>
<head>
<meta charset=»UTF-8″>
<title>Гадалка онлайн</title>
<style>
body {font-family:Arial,Helvetica,sans-serif; text-align:center; margin-top:50px;}
input {padding:8px; width:300px;}
button {padding:8px 16px; margin-left:10px;}
#answer {margin-top:20px; font-weight:bold; color:#006400;}
</style>
</head>
<body>
<h1>Гадалка онлайн</h1>
<p>Задайте любой вопрос, а я предскажу будущее!</p>
<input type=»text» id=»question» placeholder=»Ваш вопрос…»>
<button id=»askBtn»>Узнать</button>
<div id=»answer»></div>
<script src=»gadalka.js»></script>
</body>
Эта разметка создаёт простую форму: поле ввода, кнопку и контейнер для ответа.
Шаг 2. Пишем JavaScript‑логику
Создайте рядом файл gadalka.js и добавьте в него код ниже. Он отвечает за «магическое» действие.
// Массив предсказаний – можно расширять по желанию
const predictions = [
"Скоро вас ждёт приятный сюрприз.",
"Будьте осторожны: в этом месяце возможны небольшие потери.",
"Ваша упорность приведёт к успеху.",
"Любовные отношения улучшатся в ближайшее время.",
"Не откладывайте важные дела – время ограничено.",
"Ваша интуиция сегодня особенно остра.",
"Ожидайте неожиданный звонок от старого друга.",
"Финансовый поток будет стабильным."
];
// Функция, выбирающая случайный элемент массива
function getRandomPrediction {
const index = Math.floor(Math.random * predictions.length);
return predictions[index];
}
// Обработчик клика по кнопке
document.getElementById('askBtn').addEventListener('click', => {
const question = document.getElementById('question').value.trim;
// Если пользователь ничего не ввёл – попросим ввести вопрос
if (!question) { return;
}
// Показать предсказание с небольшим «задержкой», чтобы было ощущение «размышления»
document.getElementById('answer').textContent = 'Подбираю ответ...';
setTimeout( => {
const answer = getRandomPrediction;
document.getElementById('answer').textContent = answer;
}, 800); // 0.8 секунды
});
Ключевые моменты:
- Массив
predictionsхранит готовые фразы. - Функция
getRandomPredictionвыбирает одну из них случайным образом. - Обработчик
clickпроверяет, ввёл ли пользователь вопрос, и выводит предсказание.
Шаг 3. Тестируем
Как улучшить гадалку
После того как базовый вариант работает, можно добавить новые возможности, не устанавливая никаких внешних приложений:
Анимация и стилизация
- Подключите Animate.css и добавьте класс
animate__fadeInк контейнеру#answerпосле появления текста. - Используйте градиенты, тени и плавные переходы в CSS, чтобы придать «мистический» вид.
Более «умные» предсказания
Разделите предсказания на категории (любовь, работа, здоровье) и выбирайте их в зависимости от ключевых слов в вопросе.
// Пример простого анализа вопроса
function getCategory(question) {
const lower = question.toLowerCase;
if (/люб(ов|овь)/.test(lower)) return 'love';
if (/работ(а|ы|у)/.test(lower)) return 'work';
if (/здоров(ье|ья|ье)/.test(lower)) return 'health';
return 'random';
}
Хранение истории
С помощью localStorage можно сохранять предыдущие вопросы и ответы, позволяя пользователю просматривать их позже.
// Сохранение в localStorage
function saveHistory(question, answer) {
const history = JSON.parse(localStorage.getItem('gadalkaHistory') || '[]');
history.push({question, answer, date: new Date.toISOString});
localStorage.setItem('gadalkaHistory', JSON.stringify(history));
}
Подключение к API
Если захотите добавить «реальные» предсказания, можно обращаться к бесплатным API (например, Advice Slip) через fetch. Это всё равно будет «без приложений», только запросы к внешнему сервису.
Где разместить готовую гадалку?
- На своём компьютере – открывайте файл двойным щелчком.
- На бесплатных хостингах типа GitHub Pages (загружаете репозиторий, включаете Pages).
- В облачном хранилище (Google Drive, Dropbox) с включённым публичным доступом.
Создание «гадалки» – отличный способ попрактиковаться в JavaScript, а также быстро получить интерактивный проект без необходимости устанавливать сложные среды разработки. Всё, что вам нужно, – это текстовый редактор, браузер и небольшая порция кода. По мере роста навыков вы сможете добавлять новые функции, а ваша гадалка станет всё более «умной» и визуально привлекательной.
Помните: даже самая простая игра может стать отличным портфолио‑проектом. Делайте эксперименты, делитесь готовой гадалкой с друзьями и получайте обратную связь!