From 11b4809510797d5f93805db33db59add04b640e5 Mon Sep 17 00:00:00 2001 From: Threed95 Date: Mon, 9 Jun 2025 16:41:50 +0300 Subject: [PATCH 1/2] Update script.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit создала функцию генерации числа forecastGenerate, вызов функции путем клика на кнопку, условный оператор if, вставка предсказания на страницу. --- script.js | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/script.js b/script.js index 4e2ff72..f9981f1 100644 --- a/script.js +++ b/script.js @@ -1,15 +1,39 @@ -/* Генерация предсказания должна происходить при клике на кнопку «предсказать судьбу» */ +function forecastGenerate (min, max) { + return Math.floor(Math.random() * (max - min) + min); +} -/* Заранее заготовь 3-5 предсказаний и в зависимости от того, как лягут карты судьбы (или что скажет Math.random) показывай их пользователю */ +const buttonClick = document.querySelector('.forecast-btn'); +buttonClick.addEventListener('click', function(){ + const predictionNumber = forecastGenerate(1, 5); + let predictionText = ""; + if (predictionNumber == 1) { + predictionText = "Сегодня тебя ждёт приятный сюрприз!"; + } else if (predictionNumber == 2) { + predictionText = "У тебя обязательно всё получится!"; + } else if (predictionNumber == 3) { + predictionText = "Ты обязательно выучишь JavaScript!"; + } else { + predictionText = "Тебя ждёт хорошо проведённый вечер в приятной компании!"; + } + const title = document.querySelector('.current-forecast h1'); + title.textContent = predictionText; + console.log(title); -/* Подставляй текст нового предсказания в .current-forecast h1 */ + const percent = forecastGenerate(0, 100); + const paragraph = document.querySelector('.current-forecast p'); + paragraph.textContent = percent + '%'; -/* Показывай процент вероятности, с которым предсказание сбудется — в верстке это .current-forecast p */ - -/* Данный процент также нужно генерировать автоматически, он может принимать значения от 0 до 100% */ - -/* Совет: заведи функцию-хелпер, которая будет заниматься только генерацией данных в диапазоне от min до max и используй ее где нужно */ - -/* При генерации нового предсказания старое предсказание должно добавляться в начало списка «Мои предсказания» — .forecasts */ - -/* Для добавления предсказания в список воспользуйся шаблоном forecast-item */ + buttonClick.addEventListener('click', function(){ + const card = document.querySelector('#forecast-item'); + function makeCard (prediction, predictionPercent) { + const myCard = card.content.cloneNode(true); + myCard.querySelector('h3').textContent = prediction; + myCard.querySelector('p').textContent = predictionPercent; + return myCard; + } + + const predictionCard = makeCard(predictionText, percent); + const forecasts = document.querySelector('.forecasts'); + forecasts.append(predictionCard); + }) +}); \ No newline at end of file From de0b0a2701162d774dfc305a490e21380f3e5b78 Mon Sep 17 00:00:00 2001 From: Threed95 Date: Mon, 16 Jun 2025 00:33:02 +0300 Subject: [PATCH 2/2] Update script.js --- script.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/script.js b/script.js index f9981f1..57b6e56 100644 --- a/script.js +++ b/script.js @@ -17,16 +17,14 @@ buttonClick.addEventListener('click', function(){ } const title = document.querySelector('.current-forecast h1'); title.textContent = predictionText; - console.log(title); const percent = forecastGenerate(0, 100); const paragraph = document.querySelector('.current-forecast p'); paragraph.textContent = percent + '%'; - buttonClick.addEventListener('click', function(){ - const card = document.querySelector('#forecast-item'); - function makeCard (prediction, predictionPercent) { - const myCard = card.content.cloneNode(true); + const card = document.querySelector('#forecast-item'); + function makeCard (prediction, predictionPercent) { + const myCard = card.content.cloneNode(true); myCard.querySelector('h3').textContent = prediction; myCard.querySelector('p').textContent = predictionPercent; return myCard; @@ -35,5 +33,4 @@ buttonClick.addEventListener('click', function(){ const predictionCard = makeCard(predictionText, percent); const forecasts = document.querySelector('.forecasts'); forecasts.append(predictionCard); - }) -}); \ No newline at end of file +});