function berechneNote(prozent) { if (prozent >= 90) return "sehr gut"; if (prozent >= 75) return "gut"; if (prozent >= 60) return "befriedigend"; if (prozent >= 50) return "ausreichend"; return "nicht bestanden"; } document.addEventListener("DOMContentLoaded", () => { const hero = document.querySelector(".page-hero"); const ui = document.createElement("div"); ui.className = "page"; ui.innerHTML = `
Berechnen `; hero.insertAdjacentElement("afterend", ui); document.getElementById("berechnen-btn").addEventListener("click", (e) => { e.preventDefault(); const inputPunkte = document.getElementById("punkte"); const inputMax = document.getElementById("maxPunkte"); const punkte = Number(inputPunkte.value); const maxPunkte = Number(inputMax.value); const isValid = inputPunkte.value !== "" && inputMax.value !== "" && !isNaN(punkte) && !isNaN(maxPunkte) && punkte >= 0 && punkte <= maxPunkte && maxPunkte > 0; inputPunkte.style.borderColor = isValid ? "rgba(255,255,255,0.15)" : "red"; inputMax.style.borderColor = isValid ? "rgba(255,255,255,0.15)" : "red"; if (!isValid) { document.getElementById("ergebnis").textContent = "Bitte gültige Werte eingeben."; document.getElementById("nr-ergebnis").style.display = "block"; document.getElementById("balken").style.width = "0%"; return; } const prozent = Math.round((punkte / maxPunkte) * 100); const note = berechneNote(prozent); document.getElementById("r-prozent").textContent = prozent + "%"; document.getElementById("r-note").textContent = note; document.getElementById("ergebnis").textContent = `${punkte} von ${maxPunkte} Punkten`; document.getElementById("nr-ergebnis").style.display = "block"; const balken = document.getElementById("balken"); balken.style.width = prozent + "%"; balken.style.backgroundColor = prozent >= 75 ? "#4ade80" : prozent >= 50 ? "#fb923c" : "#f87171"; }); });