Mini HTML-Editor
Neu
Exportieren
Link-Graph
🎨 Galerie
Projekt-Code:
Öffnen
📋 Kein Projekt-Code eingegeben — Dateien werden im
öffentlichen Bereich
gespeichert und nach 24 Stunden automatisch gelöscht. Lege ein
neues Projekt
an um Dateien dauerhaft zu speichern.
2.html
Speichern
Öffnen
↩ Undo
↪ Redo
A−
A+
Einfügen ▾
🔗 Link
🖼 Bild
🎨 Farbcode
📋 Liste (ul/li)
🃏 Karte (div)
⚡ Javascript-Block
🔒 Schützen
<!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Advanced Trainingsplan-Rechner</title> <style> :root { --bg-color: #0b0f19; --card-bg: #151f32; --accent-color: #10b981; --accent-hover: #059669; --text-main: #f8fafc; --text-muted: #94a3b8; --border-color: #22314d; --tag-bg: #1e293b; } * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: var(--bg-color); color: var(--text-main); padding: 2rem 1rem; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .container { width: 100%; max-width: 900px; background: var(--card-bg); padding: 2.5rem; border-radius: 20px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4); border: 1px solid var(--border-color); } h1 { text-align: center; margin-bottom: 2.5rem; color: var(--text-main); font-size: 2.2rem; letter-spacing: 0.5px; } h1 span { color: var(--accent-color); } .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.6rem; color: var(--text-muted); font-weight: 600; font-size: 0.95rem; } select { width: 100%; padding: 0.85rem 1.2rem; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 10px; color: var(--text-main); font-size: 1rem; outline: none; transition: border-color 0.2s, box-shadow 0.2s; cursor: pointer; } select:focus { border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15); } button { width: 100%; padding: 1.1rem; background: var(--accent-color); border: none; border-radius: 10px; color: #0b0f19; font-size: 1.1rem; font-weight: bold; cursor: pointer; transition: background 0.2s, transform 0.1s; margin-top: 1rem; } button:hover { background: var(--accent-hover); } button:active { transform: scale(0.99); } .plan-output { margin-top: 3rem; display: none; } .plan-output h2 { margin-bottom: 2rem; border-bottom: 2px solid var(--border-color); padding-bottom: 0.75rem; font-size: 1.6rem; } .timetable { display: grid; grid-template-columns: 1fr; gap: 1.5rem; } .day-card { background: rgba(255, 255, 255, 0.02); border: 1px solid var(--border-color); border-radius: 12px; padding: 1.5rem; transition: transform 0.2s; } .day-card:hover { transform: translateY(-2px); } .day-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.05); padding-bottom: 0.5rem; } .day-name { font-weight: bold; color: var(--accent-color); font-size: 1.2rem; } .duration-badge { background: var(--tag-bg); color: var(--text-muted); padding: 0.25rem 0.75rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; } .workout-title { font-weight: 700; font-size: 1.1rem; margin-bottom: 0.75rem; } .focus-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; } .tag { background: rgba(16, 185, 129, 0.1); color: var(--accent-color); border: 1px solid rgba(16, 185, 129, 0.2); padding: 0.2rem 0.6rem; border-radius: 6px; font-size: 0.75rem; font-weight: 600; } .exercise-list { list-style: none; } .exercise-list li { color: var(--text-muted); font-size: 0.95rem; line-height: 1.6; margin-bottom: 0.5rem; position: relative; padding-left: 1.2rem; } .exercise-list li::before { content: "▹"; position: absolute; left: 0; color: var(--accent-color); font-weight: bold; } .rest-day { border-left: 5px solid var(--text-muted); opacity: 0.65; } .rest-day .day-name { color: var(--text-muted); } .workout-day { border-left: 5px solid var(--accent-color); } @media (min-width: 650px) { .row { display: flex; gap: 1.5rem; } .row .form-group { flex: 1; } } </style> </head> <body> <div class="container"> <h1><span>Pro</span>Athletics Planer</h1> <form id="planForm"> <div class="form-group"> <label for="sport">Sportart / Disziplin</label> <select id="sport" required> <option value="fussball">Fußball / Ballsport</option> <option value="kraftsport">Functional Fitness / Bodybuilding</option> <option value="laufen">Leichtathletik / Laufsport</option> <option value="kampfsport">Kampfsport (MMA, Boxen, BJJ)</option> <option value="radsport">Radsport (MTB / Rennrad)</option> <option value="schwimmen">Schwimmsport</option> </select> </div> <div class="row"> <div class="form-group"> <label for="goal">Primäres Ziel</label> <select id="goal" required> <option value="wettkampf">Maximale Wettkampf-Performance</option> <option value="fitness">Allround-Athletik & Gesundheit</option> <option value="abnehmen">Körperfettreduktion & Definition</option> </select> </div> <div class="form-group"> <label for="days">Trainingstage pro Woche</label> <select id="days" required> <option value="2">2 Tage</option> <option value="3" selected>3 Tage</option> <option value="4">4 Tage</option> <option value="5">5 Tage</option> </select> </div> </div> <button type="submit">Athletikplan generieren (90-120 Min Sessions)</button> </form> <div class="plan-output" id="planOutput"> <h2>Dein individualisierter Periodisierungsplan</h2> <div class="timetable" id="timetable"></div> </div> </div> <script> document.getElementById('planForm').addEventListener('submit', function(e) { e.preventDefault(); generatePlan( document.getElementById('sport').value, document.getElementById('goal').value, parseInt(document.getElementById('days').value) ); }); function generatePlan(sport, goal, daysCount) { const timetable = document.getElementById('timetable'); timetable.innerHTML = ''; const daysOfWeek = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']; let workoutDays = []; if (daysCount === 2) workoutDays = [1, 4]; else if (daysCount === 3) workoutDays = [0, 2, 4]; else if (daysCount === 4) workoutDays = [0, 1, 3, 4]; else if (daysCount === 5) workoutDays = [0, 1, 2, 4, 5]; // Extrem detaillierter Datenpool für unverkennbare, abwechslungsreiche Tage pro Sportart const database = { fussball: [ { title: "Speed & Agility Dominance", tags: ["Schnellkraft", "Koordination", "Stabi"], exercises: ["Mobilisation: Dynamic Stretching & Hip Openers (15 Min)", "Koordination: Koordinationsleiter & Fast Feet Drills (20 Min)", "Schnellkraft: 6x30m Sprints aus verschiedenen Startpositionen & Richtungswechsel-Schocks (25 Min)", "Stabi: Drei-Punkt-Unterarmstütz & Seitstütz mit Beinheben (20 Min)", "Cooldown: Foam Rolling & statisches Dehnen (15 Min)"] }, { title: "Power Endurance & Hypertrophy", tags: ["Hypertrophie", "Kraftausdauer", "Mobilisation"], exercises: ["Mobilisation: Band-Distraktion für Sprunggelenk/Hüfte (15 Min)", "Hypertrophie: Kettlebell Swings & Bulgarian Split Squats (4 Sätze x 10 Wdh) (30 Min)", "Kraftausdauer: Loaded Carries (Farmers Walk) & Medizinball-Slams AMRAP (25 Min)", "Core-Stabi: Pallof Press & Hanging Leg Raises (15 Min)", "Cooldown & Entlastung (15 Min)"] }, { title: "Match Stamina & Neuromuscular Drive", tags: ["Kraftausdauer", "Koordination", "Schnellkraft"], exercises: ["Mobilisation: Ganzkörper-Flow (Yoga-Inspiration) (15 Min)", "Koordination: Einbeinige Balance-Sprüngen auf instabilem Untergrund (20 Min)", "Schnellkraft: Box Jumps & Prowler-Schlitten-Sprints (20 Min)", "Kraftausdauer: Intervall-Läufe (400m-Intervalle an der anaeroben Schwelle) (25 Min)", "Cooldown & Atemschulung (15 Min)"] }, { title: "Reactive Strength & Trunk Integrity", tags: ["Schnellkraft", "Stabi", "Koordination"], exercises: ["Mobilisation: Unterkörper-Fokus (Deep Squat Holds) (15 Min)", "Koordination: Reaktive Ball-Drills an der Wand (Auge-Fuß-Koordination) (20 Min)", "Schnellkraft: Hürdensprünge mit direktem Folgesprint (25 Min)", "Stabi: Anti-Rotationsübungen am Kabelzug & Planks (20 Min)", "Cooldown: Entlastung Lendenwirbelsäule (10 Min)"] }, { title: "Explosive Engine & Capacity", tags: ["Schnellkraft", "Kraftausdauer", "Hypertrophie"], exercises: ["Mobilisation: Schulter- & Hüftgelenks-Kapsel-Mobilisation (15 Min)", "Hypertrophie: Rumänisches Kreuzheben & Goblet Squats (4x12 Wdh) (30 Min)", "Schnellkraft: Depth Jumps (Nervensystem-Aktivierung) (15 Min)", "Kraftausdauer: Ruderergometer-Intervalle oder Seilspringen im High-Intensity-Takt (20 Min)", "Cooldown (10 Min)"] } ], kraftsport: [ { title: "Max-Power & Reactive Force", tags: ["Schnellkraft", "Hypertrophie", "Mobilisation"], exercises: ["Mobilisation: Handgelenk-, Schulter- & Thorax-Opening (20 Min)", "Schnellkraft: Olympic Weightlifting Derivate (Power Cleans / High Pulls 5x3 Wdh) (25 Min)", "Hypertrophie: Klassische Kniebeugen oder Bankdrücken (Schwer: 4 Sätze x 6 Wdh) (30 Min)", "Stabi: Deadbugs & Renegade Rows (15 Min)", "Cooldown: Dehnen & Atemfokus (10 Min)"] }, { title: "Metabolic Conditioning & Core", tags: ["Kraftausdauer", "Stabi", "Koordination"], exercises: ["Mobilisation: Hüft-Flow & Goblet Squat Prying (15 Min)", "Koordination: Turkish Get-Ups (Fokus auf Gelenkstabilisierung) (20 Min)", "Kraftausdauer: Barbell-Complexes oder Kettlebell-Zirkel ohne Absetzen (30 Min)", "Stabi: Ab-Wheel Rollouts & Koffergetriebe (Side Carries) (20 Min)", "Cooldown (10 Min)"] }, { title: "Hypertrophy Overload & Balance", tags: ["Hypertrophie", "Koordination", "Mobilisation"], exercises: ["Mobilisation: Foam Rolling & Dehnungsbänder für den Oberkörper (15 Min)", "Koordination: Einarmiges Überkopfdrücken stehend auf einem Bein (15 Min)", "Hypertrophie: Supersätze für Agonist/Antagonist (Klimmzüge + Dips, Ausfallschritte + Beinbeuger) (45 Min)", "Stabi: L-Sits & Planks auf Medizinbällen (15 Min)", "Cooldown (10 Min)"] }, { title: "Speed-Strength & Structural Balance", tags: ["Schnellkraft", "Kraftausdauer", "Stabi"], exercises: ["Mobilisation: Dynamic Stretching Ober- und Unterkörper (15 Min)", "Schnellkraft: Medizinball-Überkopfwürfe & plyometrische Liegestütze (20 Min)", "Kraftausdauer: Wallballs & Kettlebell Snatches im 40/20 Takt (25 Min)", "Stabi: Bird-Dog (Advanced) & Copenhagen Planks (20 Min)", "Cooldown (10 Min)"] }, { title: "Championship Capacity & Volume", tags: ["Hypertrophie", "Kraftausdauer", "Koordination"], exercises: ["Mobilisation: Full Body Yoga Flow (20 Min)", "Koordination: Handstand-Holds oder Bear Crawls (20 Min)", "Hypertrophie: Defizit-Kreuzheben & Schrägbankdrücken (30 Min)", "Kraftausdauer: Rower-Sprints oder Assault Bike Finisher (15 Min)", "Cooldown (10 Min)"] } ], laufen: [ { title: "Elastic Recoil & Pure Speed", tags: ["Schnellkraft", "Stabi", "Mobilisation"], exercises: ["Mobilisation: Waden- & Plantarfaszien-Aktivierung, Hüftflexoren (20 Min)", "Schnellkraft: Anklinge-Drills, High Knees & Bergsprints (25 Min)", "Stabi: Einbeiniges Kreuzheben, Beckenheben & Fußgelenksstabi auf Kreisel (25 Min)", "Koordination: Lauf-ABC (Skippings, Hopserlaufvariationen) (15 Min)", "Cooldown: Statisches Stretching (15 Min)"] }, { title: "Lactate Threshold & Power", tags: ["Kraftausdauer", "Hypertrophie", "Koordination"], exercises: ["Mobilisation: Dynamischer Runner's Lunge Flow (15 Min)", "Hypertrophie: Step-Ups mit Zusatzgewicht & Kettlebell Swings (3 Sätze x 12 Wdh) (25 Min)", "Kraftausdauer: Tempowechselläufe (z.B. 4x 2000m an der anaeroben Schwelle) (35 Min)", "Stabi: Plank-Variationen mit Beinheben (15 Min)", "Cooldown (10 Min)"] }, { title: "Neuromuscular Agility & Base", tags: ["Koordination", "Kraftausdauer", "Stabi"], exercises: ["Mobilisation: Hüftmobilität Advanced & Hamstring Stretch (15 Min)", "Koordination: Trail-Lauf im profilierten Gelände mit Fokus auf Schrittfrequenz (45 Min)", "Stabi: Side-Planks mit Rotation & Beinachsen-Stabilität (20 Min)", "Kraftausdauer: Core-Finisher (Hollow Body Holds) (15 Min)", "Cooldown (10 Min)"] }, { title: "Explosive Stride & Core Force", tags: ["Schnellkraft", "Hypertrophie", "Stabi"], exercises: ["Mobilisation: Thorax- & Hüftgelenksöffnung (15 Min)", "Schnellkraft: Broad Jumps (Weitsprünge aus dem Stand) & Bounds (20 Min)", "Hypertrophie: Kniebeugen mit Fokus auf die exzentrische Phase (slow down, fast up) (25 Min)", "Stabi: Pallof Press & Russian Twists (20 Min)", "Cooldown: Foam Rolling (15 Min)"] }, { title: "Endurance Capacity Mix", tags: ["Kraftausdauer", "Koordination", "Mobilisation"], exercises: ["Mobilisation: Full Body Stretching & Trigger Point Release (20 Min)", "Koordination: Lauf-ABC rückwärts & Seitgalopp-Variationen (15 Min)", "Kraftausdauer: Fahrtspiel (Fartlek) - Intuitiver Wechsel aus Sprint, Trab und Dauerlauf (45 Min)", "Stabi: Plank to Push-up & Mountain Climbers (15 Min)", "Cooldown (15 Min)"] } ], kampfsport: [ { title: "Explosive Striking & Reaction", tags: ["Schnellkraft", "Koordination", "Stabi"], exercises: ["Mobilisation: Nacken, Schultern, Hüftgelenke rotieren (20 Min)", "Koordination: Schattenboxen mit Target-Wechseln oder Ball-Reaktionsdrills (25 Min)", "Schnellkraft: Plyometrische Liegestütze & explosive Hüft-Explosionen (Sprawls auf Zeit) (25 Min)", "Stabi: Neck-Bridges (vorsichtig) & schräge Bauchmuskel-Stabi (20 Min)", "Cooldown (15 Min)"] }, { title: "Grappling Power & Hypertrophy", tags: ["Hypertrophie", "Kraftausdauer", "Mobilisation"], exercises: ["Mobilisation: Wrist- & Shoulder-Flow, Deep Squats (15 Min)", "Hypertrophie: Klimmzüge (weighted) & Zercher Squats (4 Sätze x 8 Wdh) (30 Min)", "Kraftausdauer: 5-Minuten-Runden (AMRAP): Sandsack-Slam, Grappling Dummy Drills, Bear Crawls (30 Min)", "Stabi: Anti-Rotational-Holds am Band (15 Min)", "Cooldown (10 Min)"] }, { title: "Anabolic Gas Tank Finisher", tags: ["Kraftausdauer", "Schnellkraft", "Koordination"], exercises: ["Mobilisation: Ganzkörper Yoga-Flow (20 Min)", "Koordination: Partnerdrills (Pratzenarbeit / kontrolliertes Sparring) (35 Min)", "Schnellkraft: Medizinball-Rotationswürfe gegen eine Wand (15 Min)", "Kraftausdauer: Tabata-Intervalle auf dem Assault Bike oder Burpees (15 Min)", "Stabi: Plank-Matrix (Vorne, Seite, Seite) (15 Min)", "Cooldown (10 Min)"] }, { title: "Tactical Trunk & Agility", tags: ["Stabi", "Koordination", "Schnellkraft"], exercises: ["Mobilisation: Unterkörper Dehnungs-Routine (20 Min)", "Koordination: Beinarbeit-Drills (Footwork Mat) & Richtungswechsel (20 Min)", "Schnellkraft: Double-Leg Takedown Entrys auf Schnelligkeit (5x6 Wdh) (20 Min)", "Stabi: Farmer's Carries einarmig (Suitcase Carry) für extreme Rumpfstabilität (20 Min)", "Cooldown (10 Min)"] }, { title: "Endurance Combat Conditioning", tags: ["Kraftausdauer", "Hypertrophie", "Mobilisation"], exercises: ["Mobilisation: Komplettes Dynamic Stretching (15 Min)", "Hypertrophie: Kettlebell Clean & Press, Ausfallschritte (30 Min)", "Kraftausdauer: Heavy Rope (Wild Rope) Slams kombiniert mit Schattenboxen (25 Min)", "Stabi: Hanging Knee Raises & L-Sit Progressionen (15 Min)", "Cooldown (15 Min)"] } ], radsport: [ { title: "Stomp Power & Sprint Speed", tags: ["Schnellkraft", "Stabi", "Mobilisation"], exercises: ["Mobilisation: Hüftbeuger aufdehnen, Brustwirbelsäule mobilisieren (20 Min)", "Schnellkraft: High-Resistance Kurbel-Sprints aus dem Stand (z.B. auf Rolle oder Ergo) (25 Min)", "Stabi: Plank-Varianten & Einbeinige Kniebeugen (Pistol Squats Progression) (30 Min)", "Koordination: Einbeiniges Treten auf hoher Trittfrequenz (Isolations-Drill) (15 Min)", "Cooldown (15 Min)"] }, { title: "Aerobic Engine & Structural Mass", tags: ["Hypertrophie", "Kraftausdauer", "Koordination"], exercises: ["Mobilisation: Foam Rolling Quadrizeps und Gesäß (15 Min)", "Hypertrophie: Kreuzheben & Wadenheben (Schwer, 4x8 Wdh für die Kraftübertragung) (30 Min)", "Kraftausdauer: Schwellenintervalle (z.B. 3x10 Min im Sweet-Spot-Bereich) (35 Min)", "Stabi: Superman-Holds & Glute Bridges (15 Min)", "Cooldown (15 Min)"] }, { title: "Core Integrity & Lactate Tolerance", tags: ["Stabi", "Kraftausdauer", "Mobilisation"], exercises: ["Mobilisation: Deep Squat & Cobra Stretch (20 Min)", "Kraftausdauer: Trittfrequenz-Pyramiden (Wechsel von 70 bis 120 U/Min) (35 Min)", "Stabi: Bird-Dog Crunch & Seitstütz mit Hüftbounces (20 Min)", "Koordination: Komplexe Oberkörper-Bewegungen während dem lockeren Pedalieren (15 Min)", "Cooldown (10 Min)"] }, { title: "Explosive Ascent & Torque", tags: ["Schnellkraft", "Hypertrophie", "Stabi"], exercises: ["Mobilisation: Hüftgelenk-Kapsel-Mobilisation & Hamstrings (15 Min)", "Schnellkraft: Box Jumps & Plyo-Ausfallschritte (20 Min)", "Hypertrophie: Bulgarische Split-Squats & Hip Thrusts (30 Min)", "Stabi: Russian Twists mit Gewicht & Planks (15 Min)", "Cooldown (15 Min)"] }, { title: "Allround Fatigue Resistance", tags: ["Kraftausdauer", "Koordination", "Stabi"], exercises: ["Mobilisation: Wirbelsäulen-Mobilisation (Cat-Cow Variations) (15 Min)", "Koordination: Stehendes Balancieren (Track Stand Drills auf dem Rad / Balance Board) (20 Min)", "Kraftausdauer: Überkraft-Intervalle bei niedriger Trittfrequenz (Intervall am Berg) (40 Min)", "Stabi: Deadbugs & Leg Lowerings (15 Min)", "Cooldown (15 Min)"] } ], schwimmen: [ { title: "Catch Speed & Shoulder Snap", tags: ["Schnellkraft", "Stabi", "Mobilisation"], exercises: ["Mobilisation: Schultergelenks-Rotatoren & Brustkorb-Aktivierung (20 Min)", "Schnellkraft: Explosive Überkopfwürfe mit dem Medizinball / Pull-Drills mit Widerstandsband (20 Min)", "Stabi: Planks mit gestreckten Armen auf dem Gymnastikball (Lendenwirbelsäulen-Stabi) (25 Min)", "Koordination: Sculling-Drills im Wasser oder Trocken-Koordination für die Zugphase (15 Min)", "Cooldown (15 Min)"] }, { title: "Lats & Core Hypertrophy", tags: ["Hypertrophie", "Kraftausdauer", "Mobilisation"], exercises: ["Mobilisation: Latissimuszug dynamisch & Schulter-Pass-Throughs mit Stab (15 Min)", "Hypertrophie: Klimmzüge im weiten Obergriff & Kurzhantel-Überzüge (Pullover) (30 Min)", "Kraftausdauer: CSS-Intervalle (Critical Swim Speed) im Becken (35 Min)", "Stabi: Hollow Body Rocks & Back Extensions (15 Min)", "Cooldown (15 Min)"] }, { title: "Propulsive Power & Rhythmic Drive", tags: ["Kraftausdauer", "Koordination", "Stabi"], exercises: ["Mobilisation: Hüft- & Fußgelenksflexibilität (Streckung für Kraulkick) (20 Min)", "Koordination: Technik-Wechsel-Intervalle (z.B. Abschlagschwimmen / Einarmschwimmen) (25 Min)", "Kraftausdauer: Pyramiden-Ausdauertraining (z.B. 100m-200m-300m-200m-100m) (35 Min)", "Stabi: Side Planks & Superman im Wechsel (15 Min)", "Cooldown (10 Min)"] }, { title: "Explosive Start & Turn Mechanics", tags: ["Schnellkraft", "Hypertrophie", "Koordination"], exercises: ["Mobilisation: Ganzkörper Dynamic Warm-Up (15 Min)", "Schnellkraft: Kniebeugen-Sprünge (Squat Jumps) & reaktive Starts vom Block (25 Min)", "Hypertrophie: Military Press & Kreuzheben für die Core-Kette (25 Min)", "Koordination: Schnelle Rotations- & Wendedrills (Rolle vorwärts zu explosivem Abstoß) (20 Min)", "Cooldown (15 Min)"] }, { title: "Full-Body Streamline Integrity", tags: ["Stabi", "Kraftausdauer", "Mobilisation"], exercises: ["Mobilisation: Yoga Taube & Schulter-Dehnen (20 Min)", "Stabi: Perfekte Streamline-Holds an der Wand & V-Ups (20 Min)", "Kraftausdauer: Langstrecken-Intervall mit Paddles und Pullbuoy (Fokus Kraftausdauer Oberkörper) (40 Min)", "Cooldown (15 Min)"] } ] }; const restDayDesc = "Volle Regeneration. Fokus auf passive Erholung, Schlafqualität, Hydration und leichtes Faszientraining (Foam Rolling) für maximalen Gewebe-Sauerstofffluss."; let workoutCounter = 0; // Durch alle 7 Wochentage iterieren daysOfWeek.forEach((day, index) => { const isWorkoutDay = workoutDays.includes(index); const card = document.createElement('div'); card.classList.add('day-card'); if (isWorkoutDay) { card.classList.add('workout-day'); // Hole das passende, einzigartige Workout aus dem Array basierend auf dem Zähler const workoutData = database[sport][workoutCounter]; workoutCounter++; // Erhöhen, damit der nächste Trainingstag ein komplett anderes Workout bekommt // Erstelle die Tags HTML let tagsHTML = ''; workoutData.tags.forEach(tag => { tagsHTML += `<span class="tag">${tag}</span>`; }); // Erstelle die Übungsliste HTML let exercisesHTML = ''; workoutData.exercises.forEach(ex => { exercisesHTML += `<li>${ex}</li>`; }); // Dynamische Zeitanpassung je nach Ziel (z.B. Wettkampf dauert etwas länger) let duration = "ca. 90 Min."; if (goal === 'wettkampf') duration = "ca. 105 - 120 Min."; else if (goal === 'abnehmen') duration = "ca. 90 Min. (Hohe Dichte)"; card.innerHTML = ` <div class="day-header"> <div class="day-name">${day}</div> <div class="duration-badge">${duration}</div> </div> <div class="workout-title">🔥 ${workoutData.title}</div> <div class="focus-tags">${tagsHTML}</div> <ul class="exercise-list">${exercisesHTML}</ul> `; } else { card.classList.add('rest-day'); card.innerHTML = ` <div class="day-header"> <div class="day-name">${day}</div> <div class="duration-badge">Regeneration</div> </div> <div class="workout-title">😴 Strategischer Ruhetag</div> <div class="focus-tags"> <span class="tag" style="background:rgba(148,163,184,0.1); color:var(--text-muted); border:1px solid rgba(148,163,184,0.2)">Erholung</span> <span class="tag" style="background:rgba(148,163,184,0.1); color:var(--text-muted); border:1px solid rgba(148,163,184,0.2)">Superkompensation</span> </div> <ul class="exercise-list"> <li>${restDayDesc}</li> </ul> `; } timetable.appendChild(card); }); // Ergebnisse anzeigen document.getElementById('planOutput').style.display = 'block'; document.getElementById('planOutput').scrollIntoView({ behavior: 'smooth' }); } </script> </body> </html>
⬛ Konsole
0
▲
Umbenennen…
Löschen…
Dateinamen kopieren
URL kopieren
Als <img> einfügen
⚙ Projekt-Eigenschaften
📝 Info
📱 PWA
Dein Edit-Code
🔒 geheim halten!
–
Nur mit diesem Code kannst du dein Projekt bearbeiten. Schreib ihn auf!
✓ Kopiert!
Projekt-Titel
Dein Name
Klasse
In der Galerie veröffentlichen
⚠ Deine Startseite muss
index.html
heißen.
Galerie-Code
Unter diesem Code ist dein Projekt in der Galerie sichtbar.
Mach dein Projekt zur
Progressive Web App
— dann können Nutzer es auf dem Handy installieren und offline nutzen.
App-Name (aus Projekt-Titel)
Icon-Farbe
✓ PWA aktiv —
manifest.json und service-worker.js wurden angelegt. index.html wurde aktualisiert.