Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"liveServer.settings.port": 5501
}
35 changes: 25 additions & 10 deletions script.js
Original file line number Diff line number Diff line change
@@ -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);
});