{"id":1160,"date":"2026-01-21T10:19:42","date_gmt":"2026-01-21T10:19:42","guid":{"rendered":"https:\/\/pflhub.de\/?page_id=1160"},"modified":"2026-01-21T10:19:43","modified_gmt":"2026-01-21T10:19:43","slug":"progress-rechner","status":"publish","type":"page","link":"https:\/\/pflhub.de\/?page_id=1160","title":{"rendered":"Progress Rechner"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1160\" class=\"elementor elementor-1160\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21d00fc e-flex e-con-boxed e-con e-parent\" data-id=\"21d00fc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b98a6fd e-con-full e-flex e-con e-child\" data-id=\"b98a6fd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7539fd4 e-con-full e-flex e-con e-child\" data-id=\"7539fd4\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;motion_fx_motion_fx_mouse&quot;:&quot;yes&quot;,&quot;motion_fx_tilt_effect&quot;:&quot;yes&quot;,&quot;motion_fx_tilt_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.5,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e7ca76 elementor-widget elementor-widget-heading\" data-id=\"7e7ca76\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Progress Rechner<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07e3c01 elementor-widget elementor-widget-text-editor\" data-id=\"07e3c01\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Mache deinen Fortschritt messbar!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc427c0 e-flex e-con-boxed e-con e-parent\" data-id=\"bc427c0\" data-element_type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:4,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f49882b elementor-widget elementor-widget-html\" data-id=\"f49882b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Progressionsrechner v1.5<\/title>\n  <style>\n    * {\n      box-sizing: border-box;\n      margin: 0;\n      padding: 0;\n    }\n\n    body {\n      font-family: Arial, sans-serif;\n      \n      min-height: 100vh;\n      padding: 20px;\n    }\n\n    .progress-wrapper {\n      max-width: 900px;\n      margin: 0 auto;\n      padding: 20px;\n    }\n\n    .glass-card {\n      background: rgba(255, 255, 255, 0.6);\n      backdrop-filter: blur(12px);\n      -webkit-backdrop-filter: blur(12px);\n      border-radius: 20px;\n      padding: 30px;\n      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\n      border: 1px solid rgba(255, 255, 255, 0.2);\n      color: #2a2a2a;\n    }\n\n    .glass-card h2 {\n      font-size: 1.5rem;\n      margin-bottom: 15px;\n    }\n\n    .glass-card label {\n      display: block;\n      margin-top: 15px;\n      font-weight: bold;\n      font-size: 0.9rem;\n    }\n\n    .glass-card input {\n      width: 100%;\n      padding: 12px;\n      border-radius: 25px;\n      border: none;\n      background: #f1f3f8;\n      margin-top: 6px;\n      text-align: center;\n      color: #2a2a2a;\n      font-size: 1rem;\n    }\n\n    .glass-card button {\n      width: 100%;\n      margin-top: 20px;\n      padding: 12px;\n      background-color: #4a90e2;\n      color: white;\n      font-weight: bold;\n      border: none;\n      border-radius: 25px;\n      cursor: pointer;\n      transition: background-color 0.3s ease;\n    }\n\n    .glass-card button:hover {\n      background-color: #3366cc;\n    }\n\n    .result-box {\n      margin-top: 20px;\n      padding: 20px;\n      background-color: rgba(255, 255, 255, 0.4);\n      border: 1px solid rgba(0, 0, 0, 0.05);\n      border-radius: 12px;\n      backdrop-filter: blur(8px);\n      font-size: 0.95rem;\n    }\n\n    .divider {\n      margin: 30px 0;\n      border-top: 1px solid rgba(0, 0, 0, 0.1);\n    }\n\n    .rm-grid {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 10px;\n      margin-top: 15px;\n    }\n\n    .rm-item {\n      background-color: rgba(255, 255, 255, 0.3);\n      padding: 10px;\n      border-radius: 10px;\n      text-align: center;\n      font-weight: bold;\n    }\n\n    .progression-recommendation {\n      margin-top: 20px;\n      padding: 12px;\n      background-color: #e0ecff;\n      border-left: 4px solid #4a90e2;\n      border-radius: 8px;\n    }\n\n    .comparison-table {\n      width: 100%;\n      margin-top: 15px;\n      border-collapse: collapse;\n      font-size: 0.9rem;\n    }\n\n    .comparison-table th, .comparison-table td {\n      padding: 10px;\n      text-align: center;\n      border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n    }\n\n    .comparison-table th {\n      background-color: #f7f9fc;\n    }\n\n    .warning {\n      color: #ff9800;\n      font-weight: bold;\n    }\n\n    .success {\n      color: #4caf50;\n      font-weight: bold;\n    }\n\n    .progress {\n      color: #ff5722;\n      font-weight: bold;\n    }\n\n    @media (max-width: 768px) {\n      .progress-wrapper {\n        padding: 10px;\n      }\n      \n      .glass-card {\n        padding: 15px;\n      }\n      \n      .glass-card h2 {\n        font-size: 1.3rem;\n      }\n      \n      .rm-grid {\n        grid-template-columns: 1fr 1fr;\n        gap: 8px;\n      }\n      \n      .comparison-table {\n        font-size: 0.8rem;\n      }\n      \n      .comparison-table th, \n      .comparison-table td {\n        padding: 6px 4px;\n      }\n    }\n\n    @media (max-width: 480px) {\n      .comparison-table {\n        display: block;\n        overflow-x: auto;\n        white-space: nowrap;\n        width: 100%;\n      }\n      \n      .progression-recommendation {\n        padding: 10px;\n        font-size: 0.85rem;\n      }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"progress-wrapper\">\n    <div class=\"glass-card\">\n      <h2>\ud83d\ude80 Progressionsrechner v1.5<\/h2>\n      <label for=\"weight\">Gewicht (kg):<\/label>\n      <input type=\"number\" id=\"weight\" placeholder=\"100\" min=\"0\" step=\"0.5\">\n      <label for=\"reps\">Wiederholungen:<\/label>\n      <input type=\"number\" id=\"reps\" placeholder=\"10\" min=\"1\" step=\"1\">\n      <button onclick=\"updateResults()\">Berechnen<\/button>\n      <div id=\"results\" class=\"result-box\">\n        <p>Gib deine Trainingswerte ein und klicke auf \"Berechnen\"<\/p>\n      <\/div>\n\n      <div class=\"divider\"><\/div>\n\n      <h2>Neues Gewicht testen<\/h2>\n      <label for=\"newWeight\">Neues Gewicht (kg):<\/label>\n      <input type=\"number\" id=\"newWeight\" placeholder=\"110\" min=\"0\" step=\"0.5\">\n      <button onclick=\"updateRequiredReps()\">Berechnen<\/button>\n      <div id=\"requiredRepsResult\" class=\"result-box\">\n        <p>Gib ein neues Gewicht ein, um die erforderlichen Wiederholungen zu berechnen<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    function calculate1RM(weight, reps) {\n      if (reps === 1) return weight;\n      return weight \/ (1.0278 - 0.0278 * reps);\n    }\n    \n    function calculateReps(weight, oneRM) {\n      return (1.0278 - (weight \/ oneRM)) \/ 0.0278;\n    }\n    \n    function calculateWeightForRM(oneRM, targetReps) {\n      return oneRM * (1.0278 - 0.0278 * targetReps);\n    }\n    \n    function getRMValue(reps) {\n      return reps;\n    }\n    \n    function calculateProgression(weight, reps) {\n      if (reps <= 3) {\n        return Math.min(2.5, weight * 0.02);\n      } else if (reps <= 6) {\n        return Math.min(5, weight * 0.025);\n      } else if (reps <= 10) {\n        return Math.min(7.5, weight * 0.03);\n      } else {\n        return Math.min(10, weight * 0.035);\n      }\n    }\n    \n    function calculateVolume(weight, reps) {\n      return weight * reps;\n    }\n    \n    function calculatePercentageChange(oldValue, newValue) {\n      return ((newValue \/ oldValue) - 1) * 100;\n    }\n    \n    function updateResults() {\n      const weight = parseFloat(document.getElementById('weight').value);\n      const reps = parseInt(document.getElementById('reps').value);\n      \n      if (isNaN(weight) || isNaN(reps) || weight <= 0 || reps <= 0) {\n        document.getElementById('results').innerHTML = '<p class=\"warning\">Bitte gib g\u00fcltige Werte f\u00fcr Gewicht und Wiederholungen ein.<\/p>';\n        return;\n      }\n      \n      const oneRM = calculate1RM(weight, reps);\n      const progressionRecommendation = calculateProgression(weight, reps);\n      const recommendedNewWeight = Math.round((weight + progressionRecommendation) * 2) \/ 2;\n      \n      const percentageIncrease = (progressionRecommendation \/ weight) * 100;\n      \n      const rm1 = oneRM.toFixed(1);\n      const rm3 = calculateWeightForRM(oneRM, 3).toFixed(1);\n      const rm5 = calculateWeightForRM(oneRM, 5).toFixed(1);\n      const rm10 = calculateWeightForRM(oneRM, 10).toFixed(1);\n      \n      document.getElementById('newWeight').value = recommendedNewWeight;\n      \n      let resultsHTML = `\n        <p>Dein gesch\u00e4tztes 1RM: <strong>${rm1} kg<\/strong><\/p>\n        <div class=\"rm-grid\">\n          <div class=\"rm-item\">1RM: <strong>${rm1} kg<\/strong><\/div>\n          <div class=\"rm-item\">3RM: <strong>${rm3} kg<\/strong><\/div>\n          <div class=\"rm-item\">5RM: <strong>${rm5} kg<\/strong><\/div>\n          <div class=\"rm-item\">10RM: <strong>${rm10} kg<\/strong><\/div>\n        <\/div>\n        <div class=\"progression-recommendation\">\n          <p><strong>Empfohlene Progression bei gleichbleibender WDH-Anzahl:<\/strong><\/p>\n          <p>+${progressionRecommendation.toFixed(1)} kg (entspricht +${percentageIncrease.toFixed(1)}%)<\/p>\n          <p>Probiere beim n\u00e4chsten Training: <strong>${recommendedNewWeight} kg \u00d7 ${reps} WDH<\/strong><\/p>\n        <\/div>\n      `;\n      \n      document.getElementById('results').innerHTML = resultsHTML;\n      updateRequiredReps();\n    }\n    \n    function updateRequiredReps() {\n      const weight = parseFloat(document.getElementById('weight').value);\n      const reps = parseInt(document.getElementById('reps').value);\n      const newWeight = parseFloat(document.getElementById('newWeight').value);\n      \n      if (isNaN(weight) || isNaN(reps) || isNaN(newWeight) || weight <= 0 || reps <= 0 || newWeight <= 0) {\n        document.getElementById('requiredRepsResult').innerHTML = '<p class=\"warning\">Bitte gib zuerst g\u00fcltige Werte oben ein und dann ein neues Gewicht.<\/p>';\n        return;\n      }\n      \n      const oneRM = calculate1RM(weight, reps);\n      const exactRequiredReps = calculateReps(newWeight, oneRM);\n      \n      const exactReps = exactRequiredReps;\n      const progressReps = Math.ceil(exactRequiredReps);\n      \n      const originalRM = getRMValue(reps);\n      const newExactRM = getRMValue(exactReps);\n      const newProgressRM = getRMValue(progressReps);\n      \n      const original1RM = oneRM; \n      const new1RM = calculate1RM(newWeight, progressReps);\n      const rm1Increase = calculatePercentageChange(original1RM, new1RM);\n      \n      const originalVolume = calculateVolume(weight, reps);\n      const exactVolume = calculateVolume(newWeight, exactReps);\n      const progressVolume = calculateVolume(newWeight, progressReps);\n      \n      const volumeChange = calculatePercentageChange(originalVolume, progressVolume);\n      \n      if (exactReps <= 0) {\n        document.getElementById('requiredRepsResult').innerHTML = `\n          <p class=\"warning\">Das neue Gewicht (${newWeight} kg) ist zu schwer f\u00fcr dich.<\/p>\n          <p>Dein gesch\u00e4tztes 1RM liegt bei ${oneRM.toFixed(1)} kg.<\/p>\n        `;\n        return;\n      }\n      \n      let resultsHTML = `\n        <p><strong>Vergleich: ${weight} kg \u00d7 ${reps} WDH vs. ${newWeight} kg<\/strong><\/p>\n        \n        <table class=\"comparison-table\">\n          <tr>\n            <th>Option<\/th>\n            <th>WDH<\/th>\n            <th>Relative St\u00e4rke<\/th>\n            <th>1RM<\/th>\n          <\/tr>\n          <tr>\n            <td>Original<\/td>\n            <td>${reps} (${originalRM}RM)<\/td>\n            <td>100%<\/td>\n            <td>${original1RM.toFixed(1)} kg<\/td>\n          <\/tr>\n          <tr>\n            <td>Gleiches Niveau<\/td>\n            <td>${exactReps.toFixed(2)}<\/td>\n            <td>100%<\/td>\n            <td>${original1RM.toFixed(1)} kg<\/td>\n          <\/tr>\n          <tr class=\"progress\">\n            <td>F\u00fcr Progress<\/td>\n            <td><strong>${progressReps} (${newProgressRM}RM)<\/strong><\/td>\n            <td>+${rm1Increase.toFixed(1)}%<\/td>\n            <td>${new1RM.toFixed(1)} kg<\/td>\n          <\/tr>\n        <\/table>\n        \n        <p class=\"success\" style=\"margin-top: 15px;\">\n          <strong>Empfehlung f\u00fcr Progress:<\/strong> Mache ${progressReps} Wiederholungen mit ${newWeight} kg\n        <\/p>\n        \n        <p style=\"margin-top: 10px; font-size: 0.9em;\">\n          Hinweis zum Volumen: ${weight} \u00d7 ${reps} = ${originalVolume} kg vs. \n          ${newWeight} \u00d7 ${progressReps} = ${progressVolume} kg (${volumeChange > 0 ? '+' : ''}${volumeChange.toFixed(1)}%)\n        <\/p>\n      `;\n      \n      document.getElementById('requiredRepsResult').innerHTML = resultsHTML;\n    }\n  <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Progress Rechner Mache deinen Fortschritt messbar! Progressionsrechner v1.5 \ud83d\ude80 Progressionsrechner v1.5 Gewicht (kg): Wiederholungen: Berechnen Gib deine Trainingswerte ein und klicke auf &#8222;Berechnen&#8220; Neues Gewicht testen Neues Gewicht (kg): Berechnen Gib ein neues Gewicht ein, um die erforderlichen Wiederholungen zu berechnen<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1160","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/1160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/pflhub.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1160"}],"version-history":[{"count":1,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/1160\/revisions"}],"predecessor-version":[{"id":1180,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/1160\/revisions\/1180"}],"wp:attachment":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}