{"id":2124,"date":"2026-10-27T12:17:11","date_gmt":"2026-10-27T04:17:11","guid":{"rendered":"https:\/\/www.funpt.cn\/?p=2124"},"modified":"2026-10-27T12:21:50","modified_gmt":"2026-10-27T04:21:50","slug":"phv-maturity-offset-calculator","status":"publish","type":"post","link":"https:\/\/www.funpt.cn\/?p=2124","title":{"rendered":"\u9752\u5c11\u5e74\u8eab\u9ad8\u589e\u957f\u5cf0\u503c\u901f\u5ea6\uff08PHV\uff09\u4e0e\u6210\u719f\u5ea6\u504f\u79fb\u91cf\u8ba1\u7b97\u5668"},"content":{"rendered":"\n<!-- WordPress PHV & Maturity Offset Interactive Calculator -->\n<div class=\"phv-calc-wrapper\" id=\"phv-calculator-app\">\n  <style> #phv-calculator-app{\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"PingFang SC\", \"Microsoft YaHei\", sans-serif;\n      max-width: 780px;\n      margin: 28px auto;\n      background: #ffffff;\n      border: 1px solid #e2e8f0;\n      border-radius: 16px;\n      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);\n      overflow: hidden;\n      color: #1e293b;\n      line-height: 1.6;\n      box-sizing: border-box;\n    } #phv-calculator-app *, #phv-calculator-app *::before, #phv-calculator-app *::after{\n      box-sizing: border-box;\n    } #phv-calculator-app .phv-calc-header{\n      background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);\n      color: #ffffff;\n      padding: 24px 28px;\n    } #phv-calculator-app .phv-calc-header h3{\n      margin: 0 0 6px 0 !important;\n      font-size: 20px !important;\n      font-weight: 700 !important;\n      color: #ffffff !important;\n      letter-spacing: 0.3px;\n    } #phv-calculator-app .phv-calc-header p{\n      margin: 0 !important;\n      font-size: 13.5px !important;\n      color: #cbd5e1 !important;\n    } #phv-calculator-app .phv-calc-body{\n      padding: 24px 28px;\n    } #phv-calculator-app .phv-calc-grid{\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 18px;\n    }\n    @media (max-width: 600px) { #phv-calculator-app .phv-calc-grid{\n        grid-template-columns: 1fr;\n      } #phv-calculator-app .phv-calc-body, #phv-calculator-app .phv-calc-header{\n        padding: 18px 16px;\n      }\n    } #phv-calculator-app .phv-calc-field{\n      display: flex;\n      flex-direction: column;\n    } #phv-calculator-app .phv-calc-field.full-width{\n      grid-column: 1 \/ -1;\n    } #phv-calculator-app .phv-calc-label{\n      font-size: 13.5px;\n      font-weight: 600;\n      color: #334155;\n      margin-bottom: 6px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    } #phv-calculator-app .phv-calc-label span.phv-unit{\n      font-size: 12px;\n      font-weight: 400;\n      color: #64748b;\n    } #phv-calculator-app .phv-calc-input, #phv-calculator-app .phv-calc-select{\n      width: 100%;\n      padding: 10px 12px;\n      font-size: 15px;\n      border: 1.5px solid #cbd5e1;\n      border-radius: 8px;\n      background-color: #f8fafc;\n      color: #0f172a;\n      transition: all 0.2s ease;\n      outline: none;\n    } #phv-calculator-app .phv-calc-input:focus, #phv-calculator-app .phv-calc-select:focus{\n      border-color: #2563eb;\n      background-color: #ffffff;\n      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);\n    } #phv-calculator-app .phv-gender-group{\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n    } #phv-calculator-app .phv-gender-btn{\n      padding: 10px 14px;\n      border: 1.5px solid #cbd5e1;\n      background: #f8fafc;\n      border-radius: 8px;\n      font-size: 14.5px;\n      font-weight: 600;\n      color: #475569;\n      cursor: pointer;\n      text-align: center;\n      transition: all 0.2s ease;\n    } #phv-calculator-app .phv-gender-btn.active{\n      background: #eff6ff;\n      border-color: #2563eb;\n      color: #1d4ed8;\n    } #phv-calculator-app .phv-mode-toggle{\n      font-size: 12px;\n      color: #2563eb;\n      cursor: pointer;\n      text-decoration: underline;\n      background: none;\n      border: none;\n      padding: 0;\n    } #phv-calculator-app .phv-calc-actions{\n      margin-top: 22px;\n      display: flex;\n      gap: 12px;\n    } #phv-calculator-app .phv-btn-submit{\n      flex: 1;\n      background: #2563eb;\n      color: #ffffff;\n      border: none;\n      padding: 12px 20px;\n      font-size: 15.5px;\n      font-weight: 600;\n      border-radius: 8px;\n      cursor: pointer;\n      transition: background 0.2s ease;\n    } #phv-calculator-app .phv-btn-submit:hover{\n      background: #1d4ed8;\n    } #phv-calculator-app .phv-btn-demo{\n      background: #f1f5f9;\n      color: #475569;\n      border: 1px solid #cbd5e1;\n      padding: 12px 16px;\n      font-size: 14px;\n      font-weight: 500;\n      border-radius: 8px;\n      cursor: pointer;\n      transition: all 0.2s ease;\n    } #phv-calculator-app .phv-btn-demo:hover{\n      background: #e2e8f0;\n      color: #0f172a;\n    } #phv-calculator-app .phv-error-box{\n      display: none;\n      margin-top: 14px;\n      padding: 10px 14px;\n      background: #fef2f2;\n      border-left: 4px solid #ef4444;\n      color: #b91c1c;\n      font-size: 13.5px;\n      border-radius: 6px;\n    }\/* Results Section *\/ #phv-calculator-app .phv-calc-result{\n      display: none;\n      margin-top: 26px;\n      padding-top: 24px;\n      border-top: 2px dashed #e2e8f0;\n      animation: phvFadeIn 0.35s ease;\n    }\n    @keyframes phvFadeIn {\n      from { opacity: 0; transform: translateY(6px); }\n      to { opacity: 1; transform: translateY(0); }\n    } #phv-calculator-app .phv-metrics-cards{\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 12px;\n      margin-bottom: 22px;\n    }\n    @media (max-width: 650px) { #phv-calculator-app .phv-metrics-cards{\n        grid-template-columns: repeat(2, 1fr);\n      }\n    } #phv-calculator-app .phv-metric-card{\n      background: #f8fafc;\n      border: 1px solid #e2e8f0;\n      border-radius: 10px;\n      padding: 14px 12px;\n      text-align: center;\n    } #phv-calculator-app .phv-metric-card.highlight{\n      background: #eff6ff;\n      border-color: #93c5fd;\n    } #phv-calculator-app .phv-metric-title{\n      font-size: 12px;\n      color: #64748b;\n      margin-bottom: 4px;\n      font-weight: 500;\n    } #phv-calculator-app .phv-metric-val{\n      font-size: 21px;\n      font-weight: 700;\n      color: #0f172a;\n    } #phv-calculator-app .phv-metric-card.highlight .phv-metric-val{\n      color: #1d4ed8;\n    } #phv-calculator-app .phv-metric-sub{\n      font-size: 11.5px;\n      color: #64748b;\n      margin-top: 2px;\n    }\/* Spectrum Bar *\/ #phv-calculator-app .phv-spectrum-box{\n      background: #f8fafc;\n      border: 1px solid #e2e8f0;\n      border-radius: 12px;\n      padding: 18px 20px;\n      margin-bottom: 20px;\n    } #phv-calculator-app .phv-spectrum-header{\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 10px;\n      flex-wrap: wrap;\n      gap: 8px;\n    } #phv-calculator-app .phv-stage-badge{\n      display: inline-block;\n      padding: 4px 12px;\n      border-radius: 999px;\n      font-size: 13px;\n      font-weight: 700;\n    } #phv-calculator-app .phv-stage-pre{ background: #dcfce7; color: #15803d; } #phv-calculator-app .phv-stage-circa{ background: #fef3c7; color: #b45309; } #phv-calculator-app .phv-stage-post{ background: #dbeafe; color: #1d4ed8; } #phv-calculator-app .phv-bar-track{\n      position: relative;\n      height: 14px;\n      border-radius: 999px;\n      background: linear-gradient(90deg, \n        #22c55e 0%, #22c55e 33.3%, \n        #f59e0b 33.3%, #ef4444 50%, #f59e0b 66.6%, \n        #3b82f6 66.6%, #3b82f6 100%);\n      margin: 18px 0 8px 0;\n    } #phv-calculator-app .phv-bar-marker{\n      position: absolute;\n      top: -6px;\n      width: 26px;\n      height: 26px;\n      background: #0f172a;\n      border: 3px solid #ffffff;\n      border-radius: 50%;\n      box-shadow: 0 2px 6px rgba(0,0,0,0.3);\n      transform: translateX(-50%);\n      transition: left 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n    } #phv-calculator-app .phv-bar-labels{\n      display: flex;\n      justify-content: space-between;\n      font-size: 11.5px;\n      color: #64748b;\n      font-weight: 500;\n    }\/* Prescription Box *\/ #phv-calculator-app .phv-advice-grid{\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 16px;\n    }\n    @media (max-width: 600px) { #phv-calculator-app .phv-advice-grid{\n        grid-template-columns: 1fr;\n      }\n    } #phv-calculator-app .phv-advice-card{\n      border-radius: 10px;\n      padding: 16px;\n      border: 1px solid #e2e8f0;\n    } #phv-calculator-app .phv-advice-card.training{\n      background: #f0fdf4;\n      border-color: #bbf7d0;\n    } #phv-calculator-app .phv-advice-card.injury{\n      background: #fffbeb;\n      border-color: #fde68a;\n    } #phv-calculator-app .phv-advice-card h4{\n      margin: 0 0 8px 0 !important;\n      font-size: 14.5px !important;\n      font-weight: 700 !important;\n      color: #0f172a !important;\n    } #phv-calculator-app .phv-advice-card ul{\n      margin: 0 !important;\n      padding-left: 18px !important;\n      font-size: 13.5px !important;\n      color: #334155 !important;\n    } #phv-calculator-app .phv-advice-card li{\n      margin-bottom: 5px;\n    } #phv-calculator-app .phv-calc-footer{\n      margin-top: 16px;\n      font-size: 12px;\n      color: #64748b;\n      text-align: right;\n    }\n\n    \/* ---- \u4e3b\u9898\u6837\u5f0f\u8986\u76d6\u4fee\u6b63\uff08\u9ad8\u4f18\u5148\u7ea7\uff09 ---- *\/\n    #phv-calculator-app {\n      width: 100%;\n      max-width: 780px;\n    }\n    #phv-calculator-app .phv-calc-field,\n    #phv-calculator-app .phv-calc-grid > *,\n    #phv-calculator-app .phv-advice-grid > *,\n    #phv-calculator-app .phv-metrics-cards > * {\n      min-width: 0;\n    }\n    #phv-calculator-app .phv-calc-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n    #phv-calculator-app .phv-advice-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n    @media (max-width: 650px) {\n      #phv-calculator-app .phv-calc-grid,\n      #phv-calculator-app .phv-advice-grid {\n        grid-template-columns: minmax(0, 1fr);\n      }\n    }\n    #phv-calculator-app .phv-calc-label {\n      flex-wrap: wrap;\n      gap: 2px 8px;\n    }\n    #phv-calculator-app .phv-calc-label > span {\n      min-width: 0;\n    }\n    #phv-calculator-app .phv-bar-labels {\n      flex-wrap: wrap;\n      gap: 6px 10px;\n    }\n    #phv-calculator-app .phv-bar-labels > span {\n      flex: 1 1 30%;\n      min-width: 0;\n    }\n    #phv-calculator-app .phv-advice-card li,\n    #phv-calculator-app .phv-metric-val,\n    #phv-calculator-app .phv-metric-sub {\n      word-break: break-word;\n      overflow-wrap: anywhere;\n    }\n    #phv-calculator-app input.phv-calc-input,\n    #phv-calculator-app select.phv-calc-select {\n      -webkit-appearance: none;\n      appearance: none;\n      display: block;\n      width: 100%;\n      height: auto;\n      min-height: 42px;\n      margin: 0;\n      padding: 10px 12px;\n      font-size: 15px;\n      font-family: inherit;\n      line-height: 1.4;\n      color: #0f172a;\n      background-color: #f8fafc;\n      border: 1.5px solid #cbd5e1;\n      border-radius: 8px;\n      box-shadow: none;\n      outline: none;\n    }\n    #phv-calculator-app input.phv-calc-input:focus,\n    #phv-calculator-app select.phv-calc-select:focus {\n      border-color: #2563eb;\n      background-color: #ffffff;\n      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);\n    }\n    #phv-calculator-app input.phv-calc-input::placeholder {\n      color: #94a3b8;\n      opacity: 1;\n    }\n    #phv-calculator-app .phv-btn-submit,\n    #phv-calculator-app .phv-btn-demo,\n    #phv-calculator-app .phv-mode-toggle {\n      font-family: inherit;\n      text-transform: none;\n      letter-spacing: normal;\n      min-height: 0;\n      line-height: normal;\n      box-shadow: none;\n    }\n    #phv-calculator-app .phv-btn-submit {\n      background: #2563eb;\n      color: #ffffff;\n      border: none;\n      padding: 12px 20px;\n      font-size: 15.5px;\n      font-weight: 600;\n      border-radius: 8px;\n    }\n    #phv-calculator-app .phv-btn-submit:hover {\n      background: #1d4ed8;\n      color: #ffffff;\n    }\n    #phv-calculator-app .phv-btn-demo {\n      background: #f1f5f9;\n      color: #475569;\n      border: 1px solid #cbd5e1;\n      padding: 12px 16px;\n      font-size: 14px;\n      font-weight: 500;\n      border-radius: 8px;\n    }\n    #phv-calculator-app .phv-advice-card ul,\n    #phv-calculator-app .phv-advice-card ol {\n      list-style: none;\n      margin: 0;\n      padding-left: 0;\n    }\n    #phv-calculator-app .phv-advice-card li {\n      position: relative;\n      list-style: none;\n      margin: 0 0 6px 0;\n      padding-left: 14px;\n      font-size: 13.5px;\n      line-height: 1.65;\n      color: #334155;\n    }\n    #phv-calculator-app .phv-advice-card li::before {\n      content: \"\";\n      position: absolute;\n      left: 2px;\n      top: 8px;\n      width: 5px;\n      height: 5px;\n      border-radius: 50%;\n      background: currentColor;\n      opacity: 0.55;\n    }\n    #phv-calculator-app .phv-calc-header h3,\n    #phv-calculator-app .phv-advice-card h4 {\n      text-transform: none;\n      letter-spacing: normal;\n    }\n<\/style>\n\n  <div class=\"phv-calc-header\">\n    <h3>\u9752\u5c11\u5e74\u8eab\u9ad8\u589e\u957f\u5cf0\u503c\u901f\u5ea6 (PHV) \u4e0e\u6210\u719f\u5ea6\u504f\u79fb\u91cf\u8ba1\u7b97\u5668<\/h3>\n    <p>\u57fa\u4e8e Mirwald et al. (2002) \u7ecf\u5178\u4eba\u4f53\u6d4b\u91cf\u5b66\u65b9\u7a0b \u00b7 \u8bc4\u4f30\u751f\u7269\u5e74\u9f84\u4e0e\u8bad\u7ec3\u52a0\u901f\u9002\u5e94\u671f<\/p>\n  <\/div>\n\n  <div class=\"phv-calc-body\">\n    <div class=\"phv-calc-grid\">\n      <!-- \u6027\u522b\u9009\u62e9 -->\n      <div class=\"phv-calc-field full-width\">\n        <label class=\"phv-calc-label\">\n          <span>1. \u8fd0\u52a8\u5458\u6027\u522b (Gender)<\/span>\n          <button type=\"button\" class=\"phv-mode-toggle\" id=\"phv-toggle-age-mode\">\u5207\u6362\u4e3a\uff1a\u76f4\u63a5\u8f93\u5165\u5e74\u9f84<\/button>\n        <\/label>\n        <div class=\"phv-gender-group\">\n          <div class=\"phv-gender-btn active\" data-gender=\"male\" id=\"phv-gender-male\">\u2642 \u7537\u5b69 (Male)<\/div>\n          <div class=\"phv-gender-btn\" data-gender=\"female\" id=\"phv-gender-female\">\u2640 \u5973\u5b69 (Female)<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- \u65e5\u671f\u8f93\u5165\u6a21\u5f0f -->\n      <div class=\"phv-calc-field\" id=\"phv-dob-field\">\n        <label class=\"phv-calc-label\" for=\"phv-dob\">2. \u51fa\u751f\u65e5\u671f (Date of Birth)<\/label>\n        <input type=\"date\" id=\"phv-dob\" class=\"phv-calc-input\" \/>\n      <\/div>\n      <div class=\"phv-calc-field\" id=\"phv-testdate-field\">\n        <label class=\"phv-calc-label\" for=\"phv-testdate\">3. \u6d4b\u8bd5\u65e5\u671f (Measurement Date)<\/label>\n        <input type=\"date\" id=\"phv-testdate\" class=\"phv-calc-input\" \/>\n      <\/div>\n\n      <!-- \u624b\u52a8\u5e74\u9f84\u6a21\u5f0f (\u9ed8\u8ba4\u9690\u85cf) -->\n      <div class=\"phv-calc-field full-width\" id=\"phv-manual-age-field\" style=\"display:none;\">\n        <label class=\"phv-calc-label\" for=\"phv-manual-age\">\n          <span>2. \u5f53\u524d\u7cbe\u786e\u65e5\u5386\u5e74\u9f84 (Chronological Age)<\/span>\n          <span class=\"phv-unit\">\u5355\u4f4d\uff1a\u5c81 (\u5efa\u8bae\u8303\u56f4 8.0 &#8211; 17.0)<\/span>\n        <\/label>\n        <input type=\"number\" id=\"phv-manual-age\" class=\"phv-calc-input\" step=\"0.1\" min=\"6\" max=\"20\" placeholder=\"\u4f8b\u5982\uff1a12.5\" \/>\n      <\/div>\n\n      <!-- \u8eab\u9ad8\u3001\u5750\u9ad8\u3001\u4f53\u91cd -->\n      <div class=\"phv-calc-field\">\n        <label class=\"phv-calc-label\" for=\"phv-height\">\n          <span>\u7ad9\u7acb\u8eab\u9ad8 (Standing Height)<\/span>\n          <span class=\"phv-unit\">cm<\/span>\n        <\/label>\n        <input type=\"number\" id=\"phv-height\" class=\"phv-calc-input\" step=\"0.1\" min=\"100\" max=\"220\" placeholder=\"\u4f8b\u5982\uff1a156.5\" \/>\n      <\/div>\n\n      <div class=\"phv-calc-field\">\n        <label class=\"phv-calc-label\" for=\"phv-sitting\">\n          <span>\u5750\u9ad8 (Sitting Height)<\/span>\n          <span class=\"phv-unit\">cm (\u5750\u9aa8\u81f3\u5934\u9876)<\/span>\n        <\/label>\n        <input type=\"number\" id=\"phv-sitting\" class=\"phv-calc-input\" step=\"0.1\" min=\"50\" max=\"130\" placeholder=\"\u4f8b\u5982\uff1a79.0\" \/>\n      <\/div>\n\n      <div class=\"phv-calc-field full-width\">\n        <label class=\"phv-calc-label\" for=\"phv-weight\">\n          <span>\u4f53\u91cd (Body Mass)<\/span>\n          <span class=\"phv-unit\">kg<\/span>\n        <\/label>\n        <input type=\"number\" id=\"phv-weight\" class=\"phv-calc-input\" step=\"0.1\" min=\"15\" max=\"130\" placeholder=\"\u4f8b\u5982\uff1a45.2\" \/>\n      <\/div>\n    <\/div>\n\n    <div class=\"phv-error-box\" id=\"phv-error-msg\"><\/div>\n\n    <div class=\"phv-calc-actions\">\n      <button type=\"button\" class=\"phv-btn-submit\" id=\"phv-btn-calc\">\u8ba1\u7b97 PHV \u4e0e\u53d1\u80b2\u9636\u6bb5<\/button>\n      <button type=\"button\" class=\"phv-btn-demo\" id=\"phv-btn-demo\">\u586b\u5165\u793a\u4f8b\u6570\u636e<\/button>\n    <\/div>\n\n    <!-- \u7ed3\u679c\u5c55\u793a\u533a -->\n    <div class=\"phv-calc-result\" id=\"phv-result-area\">\n      <div class=\"phv-metrics-cards\">\n        <div class=\"phv-metric-card highlight\">\n          <div class=\"phv-metric-title\">\u6210\u719f\u5ea6\u504f\u79fb\u91cf (Offset)<\/div>\n          <div class=\"phv-metric-val\" id=\"res-offset\">0.00 \u5e74<\/div>\n          <div class=\"phv-metric-sub\" id=\"res-offset-desc\">\u8ddd\u79bb PHV \u65f6\u95f4<\/div>\n        <\/div>\n        <div class=\"phv-metric-card highlight\">\n          <div class=\"phv-metric-title\">\u9884\u8ba1 PHV \u5e74\u9f84 (APHV)<\/div>\n          <div class=\"phv-metric-val\" id=\"res-aphv\">0.0 \u5c81<\/div>\n          <div class=\"phv-metric-sub\" id=\"res-maturity-type\">\u6b63\u5e38\u53d1\u80b2\u8282\u594f<\/div>\n        <\/div>\n        <div class=\"phv-metric-card\">\n          <div class=\"phv-metric-title\">\u5f53\u524d\u65e5\u5386\u5e74\u9f84 (CA)<\/div>\n          <div class=\"phv-metric-val\" id=\"res-ca\">0.00 \u5c81<\/div>\n          <div class=\"phv-metric-sub\">\u6d4b\u8bd5\u65e5\u5b9e\u9645\u5e74\u9f84<\/div>\n        <\/div>\n        <div class=\"phv-metric-card\">\n          <div class=\"phv-metric-title\">\u4e0b\u80a2\u817f\u957f \/ \u5750\u9ad8\u6bd4<\/div>\n          <div class=\"phv-metric-val\" id=\"res-leg\">0.0 cm<\/div>\n          <div class=\"phv-metric-sub\" id=\"res-shr\">\u5750\u9ad8\u5360\u6bd4 00.0%<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- \u9636\u6bb5\u5b9a\u4f4d\u5149\u8c31 -->\n      <div class=\"phv-spectrum-box\">\n        <div class=\"phv-spectrum-header\">\n          <strong style=\"font-size:14.5px; color:#0f172a;\">\u5f53\u524d\u751f\u7269\u53d1\u80b2\u9636\u6bb5\u5b9a\u4f4d\uff1a<\/strong>\n          <span class=\"phv-stage-badge phv-stage-circa\" id=\"res-stage-badge\">Circa-PHV \u751f\u957f\u7a81\u589e\u671f<\/span>\n        <\/div>\n        <div class=\"phv-bar-track\">\n          <div class=\"phv-bar-marker\" id=\"res-bar-marker\" style=\"left: 50%;\"><\/div>\n        <\/div>\n        <div class=\"phv-bar-labels\">\n          <span>Pre-PHV (&lt; -1.0\u5e74)<br>\u795e\u7ecf\u534f\u8c03\u4e3b\u5bfc\u671f<\/span>\n          <span style=\"text-align:center; color:#b45309; font-weight:700;\">Circa-PHV (-1.0 \u81f3 +1.0\u5e74)<br>\u8eab\u9ad8\u7a81\u589e \/ \u9aa8\u7a81\u708e\u9ad8\u53d1\u671f<\/span>\n          <span style=\"text-align:right;\">Post-PHV (&gt; +1.0\u5e74)<br>\u6fc0\u7d20\u4e0e\u529b\u91cf\u7a81\u589e\u671f<\/span>\n        <\/div>\n      <\/div>\n\n      <!-- \u8bad\u7ec3\u4e0e\u5eb7\u590d\u5efa\u8bae -->\n      <div class=\"phv-advice-grid\">\n        <div class=\"phv-advice-card training\">\n          <h4>\ud83c\udfcb\ufe0f \u4f53\u80fd\u8bad\u7ec3\u5904\u65b9\u91cd\u70b9 (\u52a0\u901f\u9002\u5e94\u671f)<\/h4>\n          <ul id=\"res-training-list\"><\/ul>\n        <\/div>\n        <div class=\"phv-advice-card injury\">\n          <h4>\ud83e\ude7a \u7269\u7406\u6cbb\u7597\u4e0e\u635f\u4f24\u9884\u9632\u5efa\u8bae<\/h4>\n          <ul id=\"res-injury-list\"><\/ul>\n        <\/div>\n      <\/div>\n\n      <div class=\"phv-calc-footer\">\n        * \u6ce8\uff1aMirwald \u65b9\u7a0b\u4f30\u8ba1\u6807\u51c6\u8bef\u5dee (SEE) \u7ea6\u4e3a \u00b10.57\u20130.59 \u5e74\uff0c\u5efa\u8bae\u6bcf 3\u20134 \u4e2a\u6708\u5728\u56fa\u5b9a\u65f6\u95f4\u6bb5\u590d\u6d4b\u3002\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function() {\n      let currentGender = 'male';\n      let isManualAge = false;\n\n      const todayStr = new Date().toISOString().split('T')[0];\n      const testDateInput = document.getElementById('phv-testdate');\n      const dobInput = document.getElementById('phv-dob');\n      testDateInput.value = todayStr;\n\n      \/\/ \u9ed8\u8ba4\u8bbe\u7f6e\u4e00\u4e2a13\u5c81\u5de6\u53f3\u7684\u793a\u4f8b\u51fa\u751f\u65e5\u671f\u5360\u4f4d\n      const defaultDob = new Date();\n      defaultDob.setFullYear(defaultDob.getFullYear() - 13);\n      defaultDob.setMonth(defaultDob.getMonth() - 2);\n      dobInput.value = defaultDob.toISOString().split('T')[0];\n\n      \/\/ \u6027\u522b\u5207\u6362\n      const btnMale = document.getElementById('phv-gender-male');\n      const btnFemale = document.getElementById('phv-gender-female');\n      btnMale.addEventListener('click', function() {\n        currentGender = 'male';\n        btnMale.classList.add('active');\n        btnFemale.classList.remove('active');\n      });\n      btnFemale.addEventListener('click', function() {\n        currentGender = 'female';\n        btnFemale.classList.add('active');\n        btnMale.classList.remove('active');\n      });\n\n      \/\/ \u5e74\u9f84\u8f93\u5165\u6a21\u5f0f\u5207\u6362\n      const toggleBtn = document.getElementById('phv-toggle-age-mode');\n      const dobField = document.getElementById('phv-dob-field');\n      const testDateField = document.getElementById('phv-testdate-field');\n      const manualAgeField = document.getElementById('phv-manual-age-field');\n\n      toggleBtn.addEventListener('click', function() {\n        isManualAge = !isManualAge;\n        if (isManualAge) {\n          dobField.style.display = 'none';\n          testDateField.style.display = 'none';\n          manualAgeField.style.display = 'flex';\n          toggleBtn.textContent = '\u5207\u6362\u4e3a\uff1a\u51fa\u751f\u65e5\u671f\u63a8\u7b97';\n        } else {\n          dobField.style.display = 'flex';\n          testDateField.style.display = 'flex';\n          manualAgeField.style.display = 'none';\n          toggleBtn.textContent = '\u5207\u6362\u4e3a\uff1a\u76f4\u63a5\u8f93\u5165\u5e74\u9f84';\n        }\n      });\n\n      \/\/ \u793a\u4f8b\u6570\u636e\u6309\u94ae\n      document.getElementById('phv-btn-demo').addEventListener('click', function() {\n        if (currentGender === 'male') {\n          document.getElementById('phv-manual-age').value = '13.4';\n          document.getElementById('phv-height').value = '162.5';\n          document.getElementById('phv-sitting').value = '82.0';\n          document.getElementById('phv-weight').value = '49.5';\n        } else {\n          document.getElementById('phv-manual-age').value = '11.6';\n          document.getElementById('phv-height').value = '151.0';\n          document.getElementById('phv-sitting').value = '78.5';\n          document.getElementById('phv-weight').value = '41.0';\n        }\n        calculatePHV();\n      });\n\n      document.getElementById('phv-btn-calc').addEventListener('click', calculatePHV);\n\n      function showError(msg) {\n        const errBox = document.getElementById('phv-error-msg');\n        errBox.textContent = msg;\n        errBox.style.display = 'block';\n      }\n\n      function clearError() {\n        const errBox = document.getElementById('phv-error-msg');\n        errBox.style.display = 'none';\n      }\n\n      function calculatePHV() {\n        clearError();\n        let age = 0;\n\n        if (isManualAge) {\n          age = parseFloat(document.getElementById('phv-manual-age').value);\n          if (isNaN(age) || age < 6 || age > 20) {\n            showError('\u8bf7\u8f93\u5165\u6709\u6548\u7684\u65e5\u5386\u5e74\u9f84\uff08\u5efa\u8bae\u8303\u56f4\uff1a6.0 \u81f3 20.0 \u5c81\uff09\u3002');\n            return;\n          }\n        } else {\n          const dobVal = dobInput.value;\n          const testVal = testDateInput.value;\n          if (!dobVal || !testVal) {\n            showError('\u8bf7\u5b8c\u6574\u9009\u62e9\u51fa\u751f\u65e5\u671f\u4e0e\u6d4b\u8bd5\u65e5\u671f\u3002');\n            return;\n          }\n          const dobDate = new Date(dobVal);\n          const testDate = new Date(testVal);\n          age = (testDate - dobDate) \/ (1000 * 60 * 60 * 24 * 365.2425);\n          if (age < 6 || age > 20) {\n            showError('\u8ba1\u7b97\u51fa\u7684\u65e5\u5386\u5e74\u9f84\u4e3a ' + age.toFixed(1) + ' \u5c81\uff0c\u8d85\u51fa Mirwald \u65b9\u7a0b\u9002\u7528\u5e74\u9f84\u6bb5\uff086\u201320\u5c81\uff09\uff0c\u8bf7\u68c0\u67e5\u51fa\u751f\u65e5\u671f\u3002');\n            return;\n          }\n        }\n\n        const height = parseFloat(document.getElementById('phv-height').value);\n        const sitting = parseFloat(document.getElementById('phv-sitting').value);\n        const weight = parseFloat(document.getElementById('phv-weight').value);\n\n        if (isNaN(height) || height < 100 || height > 220) {\n          showError('\u8bf7\u8f93\u5165\u5408\u7406\u7684\u7ad9\u7acb\u8eab\u9ad8\uff08100 - 220 cm\uff09\u3002');\n          return;\n        }\n        if (isNaN(sitting) || sitting < 45 || sitting >= height - 30) {\n          showError('\u8bf7\u8f93\u5165\u5408\u7406\u7684\u5750\u9ad8\u6570\u636e\uff08\u5750\u9ad8\u5e94\u663e\u8457\u5c0f\u4e8e\u7ad9\u7acb\u8eab\u9ad8\uff0c\u901a\u5e38\u5360\u8eab\u9ad8\u7684 48%\u201355%\uff09\u3002');\n          return;\n        }\n        if (isNaN(weight) || weight < 15 || weight > 140) {\n          showError('\u8bf7\u8f93\u5165\u5408\u7406\u7684\u4f53\u91cd\u6570\u636e\uff0815 - 140 kg\uff09\u3002');\n          return;\n        }\n\n        const legLength = height - sitting;\n        const weightHeightRatio = (weight \/ height) * 100;\n        const sittingHeightRatio = (sitting \/ height) * 100;\n\n        let maturityOffset = 0;\n        if (currentGender === 'male') {\n          \/\/ Mirwald (2002) Male Equation\n          maturityOffset = -9.236 \n            + (0.0002708 * (legLength * sitting)) \n            - (0.001663 * (age * legLength)) \n            + (0.007216 * (age * sitting)) \n            + (0.02292 * weightHeightRatio);\n        } else {\n          \/\/ Mirwald (2002) Female Equation\n          maturityOffset = -9.376 \n            + (0.0001882 * (legLength * sitting)) \n            + (0.0022 * (age * legLength)) \n            + (0.005841 * (age * sitting)) \n            - (0.002658 * (age * weight)) \n            + (0.07693 * weightHeightRatio);\n        }\n\n        const aphv = age - maturityOffset;\n\n        \/\/ \u6e32\u67d3\u5361\u7247\u6570\u503c\n        const sign = maturityOffset > 0 ? '+' : '';\n        document.getElementById('res-offset').textContent = sign + maturityOffset.toFixed(2) + ' \u5e74';\n        document.getElementById('res-offset-desc').textContent = maturityOffset < 0 \n          ? '\u8ddd\u751f\u957f\u5cf0\u503c\u8fd8\u6709 ' + Math.abs(maturityOffset).toFixed(1) + ' \u5e74' \n          : (maturityOffset === 0 ? '\u6b63\u5904\u4e8e\u8eab\u9ad8\u751f\u957f\u5cf0\u503c' : '\u5df2\u5ea6\u8fc7\u5cf0\u503c ' + maturityOffset.toFixed(1) + ' \u5e74');\n\n        document.getElementById('res-aphv').textContent = aphv.toFixed(1) + ' \u5c81';\n        \n        \/\/ \u5224\u65ad\u65e9\u719f\/\u665a\u719f\u53c2\u8003 (\u7537\u5e73\u574713.8, \u5973\u5e73\u574712.0)\n        const avgAphv = currentGender === 'male' ? 13.8 : 11.9;\n        let matType = '\u6b63\u5e38\u53d1\u80b2\u8282\u594f (Average)';\n        if (aphv < avgAphv - 1.0) matType = '\u504f\u65e9\u719f\u503e\u5411 (Early Maturer)';\n        else if (aphv > avgAphv + 1.0) matType = '\u504f\u665a\u719f\u503e\u5411 (Late Maturer)';\n        document.getElementById('res-maturity-type').textContent = matType;\n\n        document.getElementById('res-ca').textContent = age.toFixed(2) + ' \u5c81';\n        document.getElementById('res-leg').textContent = legLength.toFixed(1) + ' cm';\n        document.getElementById('res-shr').textContent = '\u5750\u9ad8\u5360\u6bd4 ' + sittingHeightRatio.toFixed(1) + '%';\n\n        \/\/ \u8ba1\u7b97\u5149\u8c31\u4f4d\u7f6e (-3.0 \u5230 +3.0 \u6620\u5c04\u5230 0% - 100%)\n        let pct = ((maturityOffset + 3.0) \/ 6.0) * 100;\n        pct = Math.max(4, Math.min(96, pct));\n        document.getElementById('res-bar-marker').style.left = pct + '%';\n\n        \/\/ \u9636\u6bb5\u5224\u65ad\u4e0e\u5904\u65b9\u751f\u6210\n        const badge = document.getElementById('res-stage-badge');\n        const trainList = document.getElementById('res-training-list');\n        const injuryList = document.getElementById('res-injury-list');\n        badge.className = 'phv-stage-badge';\n\n        if (maturityOffset < -1.0) {\n          badge.classList.add('phv-stage-pre');\n          badge.textContent = 'Pre-PHV \u00b7 \u5cf0\u503c\u524d\u671f (\u795e\u7ecf\u6fc0\u6d3b\u52a0\u901f\u671f)';\n          trainList.innerHTML = `\n            <li><strong>\u4e2d\u67a2\u795e\u7ecf\u7cfb\u7edf\u9ad8\u53ef\u5851\u671f\uff1a<\/strong>\u4f18\u5148\u53d1\u5c55\u57fa\u7840\u52a8\u4f5c\u6280\u80fd\uff08FMS\uff1a\u8e72\u3001\u9acb\u94f0\u94fe\u3001\u5f13\u6b65\u3001\u63a8\u62c9\u3001\u65cb\u8f6c\u7a33\u5b9a\u6027\uff09\u3002<\/li>\n            <li><strong>\u901f\u5ea6\u4e0e\u7075\u654f\u7b2c\u4e00\u7a97\u53e3\uff1a<\/strong>\u91cd\u70b9\u5b89\u6392\u77ed\u8ddd\u79bb\u51b2\u523a\u8dd1\u6280\u672f\uff08\u6b65\u9891\u4e0e\u52a0\u901f\u8282\u594f\uff09\u4e0e\u591a\u65b9\u5411\u53d8\u5411\u654f\u6377\u8bad\u7ec3\u3002<\/li>\n            <li><strong>\u4f4e\u5f3a\u5ea6\u589e\u5f3a\u5f0f\u8bad\u7ec3 (Plyometrics)\uff1a<\/strong>\u6ce8\u91cd\u8df3\u8fc7\u969c\u788d\u3001\u53cc\/\u5355\u811a\u843d\u5730\u9759\u97f3\u7f13\u51b2\u6280\u672f\uff0c\u5efa\u7acb\u6b63\u786e\u529b\u7ebf\u3002<\/li>\n          `;\n          injuryList.innerHTML = `\n            <li><strong>\u5173\u6ce8\u8ddf\u9aa8\u9aa8\u7a81\u708e (Sever's Disease)\uff1a<\/strong>8\u201311\u5c81\u9636\u6bb5\u82e5\u51fa\u73b0\u8db3\u8ddf\u540e\u4fa7\u8dd1\u8df3\u75db\uff0c\u9700\u6392\u67e5\u5c0f\u817f\u4e09\u5934\u808c\u7d27\u7ef7\u5e76\u63a7\u5236\u786c\u5730\u8dd1\u8df3\u603b\u91cf\u3002<\/li>\n            <li><strong>\u5f3a\u8c03\u52a8\u4f5c\u8d28\u91cf\u800c\u975e\u8d1f\u91cd\uff1a<\/strong>\u6297\u963b\u8bad\u7ec3\u4ee5\u81ea\u91cd\u3001\u5f39\u529b\u5e26\u548c\u8f7b\u5668\u68b0\u4e3a\u4e3b\uff0c\u4e25\u6293\u53cc\u4fa7\u5bf9\u79f0\u6027\u3002<\/li>\n          `;\n        } else if (maturityOffset >= -1.0 && maturityOffset <= 1.0) {\n          badge.classList.add('phv-stage-circa');\n          badge.textContent = 'Circa-PHV \u00b7 \u8eab\u9ad8\u7a81\u589e\u671f (\u9aa8\u7a81\u708e\u4e0e\u52a8\u4f5c\u7b28\u62d9\u9ad8\u53d1\u671f)';\n          trainList.innerHTML = `\n            <li><strong>\u5e94\u5bf9\u201c\u9752\u6625\u671f\u7b28\u62d9\u671f (Adolescent Awkwardness)\u201d\uff1a<\/strong>\u56db\u80a2\u5feb\u901f\u62c9\u957f\u5bfc\u81f4\u672c\u4f53\u611f\u89c9\u6682\u65f6\u4e0b\u964d\uff0c\u9700\u9ad8\u9891\u6b21\u5de9\u56fa\u6838\u5fc3\u6297\u65cb\u8f6c\u4e0e\u5355\u817f\u52a8\u6001\u5e73\u8861\uff08\u5982 YBT \u63a7\u5236\uff09\u3002<\/li>\n            <li><strong>\u6297\u963b\u8bad\u7ec3\u6280\u672f\u8fc7\u6e21\uff1a<\/strong>\u7ef4\u6301\u4e2d\u7b49\u8d1f\u8377\u57fa\u7840\u529b\u91cf\u8bad\u7ec3\uff08\u9ad8\u811a\u676f\u6df1\u8e72\u3001\u7f57\u9a6c\u5c3c\u4e9a\u786c\u62c9\uff09\uff0c\u91cd\u70b9\u5f3a\u5316\u79bb\u5fc3\u63a7\u5236\u3002<\/li>\n            <li><strong>\u52a8\u6001\u76d1\u63a7\u6708\u5ea6\u751f\u957f\u901f\u7387\uff1a<\/strong>\u82e5\u5355\u6708\u957f\u9ad8 &gt;0.7 cm\uff08\u5e74\u5316 &gt;8 cm\uff09\uff0c\u81ea\u52a8\u4e0b\u8c03\u9ad8\u51b2\u51fb\u8df3\u8dc3\u5bb9\u91cf 20%\u201330%\u3002<\/li>\n          `;\n          injuryList.innerHTML = `\n            <li><strong>\u6700\u9ad8\u5371\u9884\u8b66\u2014\u2014\u80eb\u9aa8\u7c97\u9686\u9aa8\u7a81\u708e (OSD)\uff1a<\/strong>\u80a1\u56db\u5934\u808c\u76f8\u5bf9\u7d27\u7ef7\u7275\u62c9\u672a\u9aa8\u5316\u80eb\u9aa8\u7ed3\u8282\u3002\u907f\u514d\u76f4\u63a5\u5f3a\u529b\u88ab\u52a8\u62c9\u4f38\u75db\u70b9\uff0c\u6539\u7528\u6ce1\u6cab\u8f74\u677e\u89e3\u808c\u8179 + \u80a1\u56db\u5934\u808c\u7b49\u957f\u6536\u7f29\u9547\u75db\uff0845\u79d2\u00d75\u7ec4\uff09\u3002<\/li>\n            <li><strong>\u4e25\u9632\u52a8\u6001\u819d\u5916\u7ffb\u4e0e ACL \u98ce\u9669\uff1a<\/strong>\u91cd\u70b9\u7b5b\u67e5 YBT \u524d\u4fa7\u4f38\u5c55\u5de6\u53f3\u5dee\u503c\uff08\u63a7\u5236\u5728 &lt;4 cm\uff09\uff0c\u5f3a\u5316\u81c0\u4e2d\u808c\u4e0e\u8158\u7ef3\u808c\u79bb\u5fc3\u529b\u91cf\u3002<\/li>\n          `;\n        } else {\n          badge.classList.add('phv-stage-post');\n          badge.textContent = 'Post-PHV \u00b7 \u5cf0\u503c\u540e\u671f (\u529b\u91cf\u4e0e\u808c\u80a5\u5927\u52a0\u901f\u9002\u5e94\u671f)';\n          trainList.innerHTML = `\n            <li><strong>\u5408\u6210\u4ee3\u8c22\u6fc0\u7d20\u7ea2\u5229\u671f\uff1a<\/strong>\u777e\u916e\u4e0e\u751f\u957f\u6fc0\u7d20\u663e\u8457\u5347\u9ad8\uff0c\u6b63\u5f0f\u8fdb\u5165<strong>\u6700\u5927\u529b\u91cf (Strength)<\/strong> \u4e0e<strong>\u808c\u80a5\u5927 (Hypertrophy)<\/strong> \u7684\u6700\u4f73\u52a0\u901f\u9002\u5e94\u671f\u3002<\/li>\n            <li><strong>\u590d\u5408\u529b\u91cf\u4e0e\u7206\u53d1\u529b\u8fdb\u9636\uff1a<\/strong>\u7cfb\u7edf\u5316\u5f00\u5c55\u6760\u94c3\u6df1\u8e72\u3001\u786c\u62c9\u3001\u9ad8\u7ffb\u53ca\u9ad8\u5f3a\u5ea6\u589e\u5f3a\u5f0f\u8bad\u7ec3\uff08Drop Jump \/ \u53cd\u5e94\u529b\u91cf\u6307\u6570 RSI \u63d0\u5347\uff09\u3002<\/li>\n            <li><strong>\u4e13\u9879\u65e0\u6c27\u4e0e\u4ee3\u8c22\u8010\u529b\uff1a<\/strong>\u9010\u6b65\u589e\u52a0\u9ad8\u5f3a\u5ea6\u95f4\u6b47\u4e0e\u4e13\u9879\u5bf9\u6297\u8d1f\u8377\u3002<\/li>\n          `;\n          injuryList.innerHTML = `\n            <li><strong>\u9632\u63a7\u9ad8\u5bf9\u6297\u6025\u6027\u635f\u4f24\uff1a<\/strong>\u4f53\u91cd\u4e0e\u51b2\u523a\u52a8\u91cf\u6fc0\u589e\uff0c\u9700\u901a\u8fc7\u6d4b\u529b\u53f0\uff08CMJ\/\u843d\u5730\u529b\uff09\u6216\u5355\u817f\u8df3\u6d4b\u8bd5\u76d1\u63a7\u80a2\u4f53\u5bf9\u79f0\u6027\u6307\u6570\uff08LSI &gt; 90%\uff09\u3002<\/li>\n            <li><strong>\u8170\u690e\u5ce1\u90e8\u88c2\u4e0e\u8f6f\u7ec4\u7ec7\u62c9\u4f24\u9884\u9632\uff1a<\/strong>\u5927\u91cd\u91cf\u6297\u963b\u4e0e\u6263\u6740\/\u5c04\u95e8\u8bad\u7ec3\u4e2d\u4e25\u63a7\u9aa8\u76c6\u8fc7\u5ea6\u524d\u503e\uff08\u8170\u690e\u8d85\u4f38\uff09\uff0c\u5f3a\u5316\u8158\u7ef3\u808c\u957f\u5934\u79bb\u5fc3\u6297\u62c9\u80fd\u529b\uff08\u5982\u5317\u6b27\u633a Nordic Hamstring\uff09\u3002<\/li>\n          `;\n        }\n\n        document.getElementById('phv-result-area').style.display = 'block';\n      }\n    })();\n  <\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u9752\u5c11\u5e74\u8eab\u9ad8\u589e\u957f\u5cf0\u503c\u901f\u5ea6 (PHV) \u4e0e\u6210\u719f\u5ea6\u504f\u79fb\u91cf\u8ba1\u7b97\u5668 \u57fa\u4e8e Mirwald et al. (2002) \u7ecf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[22],"tags":[],"class_list":["post-2124","post","type-post","status-publish","format-standard","hentry","category-22"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/posts\/2124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2124"}],"version-history":[{"count":2,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/posts\/2124\/revisions"}],"predecessor-version":[{"id":2126,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=\/wp\/v2\/posts\/2124\/revisions\/2126"}],"wp:attachment":[{"href":"https:\/\/www.funpt.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.funpt.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}