/** * Ročníková práce: Interaktivní průvodce vesmírem * Předmět: Webové technologie (2. ročník) * Modul: Kompletní interaktivita (Vanilla JS ES6+) */ document.addEventListener('DOMContentLoaded', () => { // ========================================== // 1. SEKCE: VESMÍRNÁ KALKULAČKA // ========================================== const weightInput = document.getElementById('weight-input'); const calcButton = document.getElementById('calc-btn'); const calcResult = document.getElementById('calc-result'); const spaceGravity = { merkur: { name: 'Merkur', factor: 0.38, icon: '🪐' }, venuse: { name: 'Venuše', factor: 0.91, icon: '🌍' }, mars: { name: 'Mars', factor: 0.38, icon: '🔴' }, jupiter: { name: 'Jupiter', factor: 2.34, icon: '🟤' }, saturn: { name: 'Saturn', factor: 1.06, icon: '🪐' }, uran: { name: 'Uran', factor: 0.92, icon: '🔵' }, neptun: { name: 'Neptun', factor: 1.19, icon: '🔵' }, mesic: { name: 'Měsíc', factor: 0.166, icon: '⚪' } }; const calculateSpaceWeight = () => { const earthWeight = parseFloat(weightInput.value); if (isNaN(earthWeight) || earthWeight <= 0) { calcResult.innerHTML = `

⚠️ Prosím, zadej platnou kladnou váhu v kilogramech.

`; return; } let resultHTML = `

Tvoje váha ve vesmíru:

`; Object.keys(spaceGravity).forEach(key => { const planet = spaceGravity[key]; const planetWeight = (earthWeight * planet.factor).toFixed(1); resultHTML += `
${planet.icon} ${planet.name} ${planetWeight} kg
`; }); resultHTML += `
`; calcResult.innerHTML = resultHTML; }; if (calcButton) { calcButton.addEventListener('click', calculateSpaceWeight); } if (weightInput) { weightInput.addEventListener('keypress', (e) => { if (e.key === 'Enter') calculateSpaceWeight(); }); } // ========================================== // 2. SEKCE: DETAIL PLANETY (Oprava nefunkčního tlačítka) // ========================================== // Databáze podrobných informací o planetách const planetDetails = { mars: { title: "Mars – Detailní průzkum", text: "Mars je druhá nejmenší planeta sluneční soustavy. Má tenkou atmosféru složenou převážně z oxidu uhličitého. Nachází se zde Olympus Mons, nejvyšší známá hora sluneční soustavy (22 km), a hluboké údolí Valles Marineris. V současnosti planetu zkoumá několik roverů (např. Perseverance)." } // Sem můžeš v budoucnu přidat zeme: { ... }, jupiter: { ... } }; // Najdeme všechna tlačítka, která mají atribut data-planet const detailButtons = document.querySelectorAll('button[data-planet]'); detailButtons.forEach(button => { button.addEventListener('click', () => { // Zjistíme, o jakou planetu jde (např. "mars") const planetKey = button.getAttribute('data-planet'); const data = planetDetails[planetKey]; if (data) { // Jednoduché zobrazení detailu (prozatím přes nativní alert) alert(`${data.title}\n\n${data.text}`); } else { alert("Informace o této planetě se teprve připravují."); } }); }); });