From 445171e0dc4f6608938d4ec9eaa85f4e74a1e5c7 Mon Sep 17 00:00:00 2001 From: camaamac Date: Sun, 21 Jul 2024 17:28:50 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=B4=20js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавила код js --- .vscode/settings.json | 3 +++ script.js | 35 +++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6f3a291 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/script.js b/script.js index 4e2ff72..9ec6c0e 100644 --- a/script.js +++ b/script.js @@ -1,15 +1,30 @@ -/* Генерация предсказания должна происходить при клике на кнопку «предсказать судьбу» */ +const predictions = [ + 'Тебе улыбнется удача!', + 'Получишь море радости!', + 'Сегодня узнаешь что-то новое!', + 'Это один из лучших дней!', + 'Не унывай и всё получится!' +]; -/* Заранее заготовь 3-5 предсказаний и в зависимости от того, как лягут карты судьбы (или что скажет Math.random) показывай их пользователю */ +function getRandomPrediction() { + return predictions[Math.floor(Math.random() * predictions.length)]; +} -/* Подставляй текст нового предсказания в .current-forecast h1 */ +const forecastButton = document.querySelector('.forecast-btn'); +const currentForecastTitle = document.querySelector('.current-forecast h1'); +const currentForecastProbability = document.querySelector('.current-forecast p'); +const forecastsList = document.querySelector('.forecasts'); +const forecastTemplate = document.getElementById('forecast-item'); -/* Показывай процент вероятности, с которым предсказание сбудется — в верстке это .current-forecast p */ +forecastButton.addEventListener('click', function() { + const newPrediction = getRandomPrediction(); + const newPercentage = Math.floor(Math.random() * 101); -/* Данный процент также нужно генерировать автоматически, он может принимать значения от 0 до 100% */ + currentForecastTitle.textContent = newPrediction; + currentForecastProbability.textContent = `Вероятность события: ${newPercentage}%`; -/* Совет: заведи функцию-хелпер, которая будет заниматься только генерацией данных в диапазоне от min до max и используй ее где нужно */ - -/* При генерации нового предсказания старое предсказание должно добавляться в начало списка «Мои предсказания» — .forecasts */ - -/* Для добавления предсказания в список воспользуйся шаблоном forecast-item */ + const clone = document.importNode(forecastTemplate.content, true); + clone.querySelector('h3').textContent = newPrediction; + clone.querySelector('p').textContent = `Вероятность события: ${newPercentage}%`; + forecastsList.prepend(clone); +}); \ No newline at end of file