Рассчитайте примерный бюджет вашей поездки в зависимости от страны, города вылета и предпочитаемого стиля путешествия
Введите параметры поездки и нажмите "Рассчитать бюджет"
Введите параметры поездки и нажмите "Рассчитать бюджет"
`; resultsArea.classList.remove('visible'); }); // Расчёт бюджета function calculateBudget() { const country = countrySelect.value; const city = citySelect.value; const days = parseInt(daysSelect.value); const style = document.querySelector('input[name="style"]:checked').value; const month = parseInt(monthSelect.value); const type = document.querySelector('input[name="type"]:checked').value; // Проверка必填 полей if (!country || !city || !days || !month) { alert('Пожалуйста, заполните все поля'); return; } const data = countryData[country]; const cityData = data.cities[city]; // Стоимость билетов let tickets = cityData[style]; if (type === 'couple') { tickets *= 2; } // Скидка на билеты if (cityData.discountMonths.includes(month)) { tickets = tickets * 0.75; } // Стоимость проживания let accommodationPerNight = data.accommodation[style]; let accommodationTotal = accommodationPerNight * days; // Корректировка по сезону if (data.highSeason.includes(month)) { accommodationTotal *= 1.2; // Высокий сезон +20% } else if (data.lowSeason.includes(month)) { accommodationTotal *= 0.85; // Низкий сезон -15% } // Стоимость еды let foodPerPersonPerDay = data.food[style]; let foodTotal = foodPerPersonPerDay * days; if (type === 'couple') { foodTotal *= 2; } // Общий бюджет const totalBudget = tickets + accommodationTotal + foodTotal; // Отображение результатов const icons = { tickets: '✈️', accommodation: '🏨', food: '🍜', total: '💰' }; resultsArea.innerHTML = `Расчёт является примерным и зависит от сезона, курса валют и стиля путешествия.
`; // Анимация появления setTimeout(() => { resultsArea.classList.add('visible'); }, 50); } // Обработчик кнопки calculateBtn.addEventListener('click', calculateBudget); // Автоматический пересчёт при изменении параметров (опционально) document.getElementById('days').addEventListener('change', calculateBudget); document.getElementById('month').addEventListener('change', calculateBudget); // Слушатели радио-кнопок document.querySelectorAll('input[name="style"]').forEach(radio => { radio.addEventListener('change', calculateBudget); }); document.querySelectorAll('input[name="type"]').forEach(radio => { radio.addEventListener('change', calculateBudget); }); })();