{"id":2761,"date":"2023-10-18T09:47:55","date_gmt":"2023-10-18T01:47:55","guid":{"rendered":"https:\/\/bookmark.tw\/?p=2761"},"modified":"2025-08-20T00:42:43","modified_gmt":"2025-08-19T16:42:43","slug":"aspiration","status":"publish","type":"post","link":"https:\/\/xinliceyan.org\/zh\/aspiration","title":{"rendered":"\u4f01\u5716\u5fc3(\u6210\u5c31\u52d5\u6a5f)\u7dda\u4e0a\u514d\u8cbb\u6e2c\u9a57\uff0825\u984c\uff09"},"content":{"rendered":"<!-- \u5f15\u5165 Bootstrap CSS -->\n<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap\/5.3.3\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\" rel=\"stylesheet\">\n\n<!-- \u4f01\u5716\u5fc3\u6e2c\u9a57 HTML \u7d50\u69cb -->\n<div class=\"container-fluid p-3 p-md-4\" style=\"max-width: 750px;\">\n  \n  <!-- \u5f15\u5c0e\u9801 -->\n  <section id=\"intro-page\" class=\"py-5\">\n    <div class=\"w-100\">\n      <div class=\"text-center mb-5\">\n        <h2 class=\"display-5 fw-bold mb-3\">\u4f01\u5716\u5fc3\u6e2c\u9a57<\/h2>\n        <p class=\"lead text-secondary mb-4\">\u63a2\u7d22\u60a8\u7684\u6210\u5c31\u52d5\u6a5f\u8207\u91ce\u5fc3\u7a0b\u5ea6<\/p>\n      <\/div>\n      \n      <div class=\"row g-3 mb-5\">\n        <div class=\"col-12 col-md-4\">\n          <div class=\"card h-100 border-0 shadow-sm\">\n            <div class=\"card-body text-center p-4\">\n              <div class=\"bg-primary bg-opacity-10 rounded-circle p-3 d-inline-block mb-3\">\n                <i class=\"bi bi-bullseye fs-2 text-primary\"><\/i>\n              <\/div>\n              <h5 class=\"card-title\">\u7cbe\u6e96\u8a55\u4f30<\/h5>\n              <p class=\"card-text text-secondary small\">\u79d1\u5b78\u5316\u6e2c\u91cf\u60a8\u7684\u6210\u5c31\u52d5\u6a5f\u5f37\u5ea6<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"col-12 col-md-4\">\n          <div class=\"card h-100 border-0 shadow-sm\">\n            <div class=\"card-body text-center p-4\">\n              <div class=\"bg-primary bg-opacity-10 rounded-circle p-3 d-inline-block mb-3\">\n                <i class=\"bi bi-speedometer2 fs-2 text-primary\"><\/i>\n              <\/div>\n              <h5 class=\"card-title\">\u5feb\u901f\u6e2c\u9a57<\/h5>\n              <p class=\"card-text text-secondary small\">\u53ea\u97005\u5206\u9418\u5373\u53ef\u5b8c\u6210\u5168\u90e8\u984c\u76ee<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"col-12 col-md-4\">\n          <div class=\"card h-100 border-0 shadow-sm\">\n            <div class=\"card-body text-center p-4\">\n              <div class=\"bg-primary bg-opacity-10 rounded-circle p-3 d-inline-block mb-3\">\n                <i class=\"bi bi-bar-chart-line fs-2 text-primary\"><\/i>\n              <\/div>\n              <h5 class=\"card-title\">\u6df1\u5ea6\u5206\u6790<\/h5>\n              <p class=\"card-text text-secondary small\">\u7372\u5f97\u500b\u4eba\u5316\u7684\u8a73\u7d30\u5206\u6790\u5831\u544a<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      \n      <div class=\"mb-5\">\n        <p class=\"mb-3\">\u6210\u5c31\u52d5\u6a5f\uff0c\u4e5f\u7a31\u70ba\u300c\u4f01\u5716\u5fc3\u300d\u6216\u300c\u91ce\u5fc3\u300d\uff0c\u662f\u63a8\u52d5\u6211\u5011\u8ffd\u6c42\u6210\u529f\u7684\u5167\u5728\u52d5\u529b\u3002\u9069\u5ea6\u7684\u91ce\u5fc3\u80fd\u6fc0\u767c\u6f5b\u80fd\uff0c\u4f46\u904e\u5f37\u6216\u904e\u5f31\u90fd\u53ef\u80fd\u5e36\u4f86\u56f0\u64fe\u3002<\/p>\n        <p>\u900f\u904e\u9019\u4efd\u5c08\u696d\u6e2c\u9a57\uff0c\u60a8\u5c07\u77ad\u89e3\u81ea\u5df1\u7684\u91ce\u5fc3\u7a0b\u5ea6\uff0c\u4e26\u7372\u5f97\u76f8\u61c9\u7684\u5fc3\u7406\u89e3\u6790\u8207\u5efa\u8b70\u3002<\/p>\n      <\/div>\n      \n      <!-- \u5e74\u9f61\u9078\u64c7 -->\n      <div class=\"card border-0 shadow-sm mb-4\">\n        <div class=\"card-body p-4\">\n          <h5 class=\"card-title mb-3\">\n            <i class=\"bi bi-person-circle me-2 text-primary\"><\/i>\n            \u8acb\u9078\u64c7\u60a8\u7684\u5e74\u9f61\u6bb5\n          <\/h5>\n          <div class=\"row g-2\">\n            <div class=\"col-6 col-md-3\">\n              <input type=\"radio\" class=\"btn-check\" name=\"age\" id=\"age1\" value=\"14-16\">\n              <label class=\"btn btn-outline-primary w-100\" for=\"age1\">14-16\u6b72<\/label>\n            <\/div>\n            <div class=\"col-6 col-md-3\">\n              <input type=\"radio\" class=\"btn-check\" name=\"age\" id=\"age2\" value=\"17-21\">\n              <label class=\"btn btn-outline-primary w-100\" for=\"age2\">17-21\u6b72<\/label>\n            <\/div>\n            <div class=\"col-6 col-md-3\">\n              <input type=\"radio\" class=\"btn-check\" name=\"age\" id=\"age3\" value=\"22-30\" checked>\n              <label class=\"btn btn-outline-primary w-100\" for=\"age3\">22-30\u6b72<\/label>\n            <\/div>\n            <div class=\"col-6 col-md-3\">\n              <input type=\"radio\" class=\"btn-check\" name=\"age\" id=\"age4\" value=\"31+\">\n              <label class=\"btn btn-outline-primary w-100\" for=\"age4\">31\u6b72\u4ee5\u4e0a<\/label>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      \n      <div class=\"text-center\">\n        <button class=\"btn btn-primary btn-lg px-5 py-3 shadow\" onclick=\"startTest()\">\n          \u5f00\u59cb\u6d4b\u9a8c\n          <i class=\"bi bi-arrow-right-circle ms-2\"><\/i>\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u6e2c\u9a57\u9801 -->\n  <section id=\"test-page\" class=\"py-5\" style=\"display: none;\">\n    <h2 class=\"text-center mb-4\">\u4f01\u5716\u5fc3\u6e2c\u9a57<\/h2>\n    \n    <!-- \u9032\u5ea6\u689d -->\n    <div class=\"mb-4\">\n      <div class=\"d-flex justify-content-between align-items-center mb-2\">\n        <span class=\"text-secondary\">\u9032\u5ea6<\/span>\n        <span class=\"text-primary fw-bold\" id=\"progress-text\">\u95ee\u98981\/25<\/span>\n      <\/div>\n      <div class=\"progress\" style=\"height: 10px;\">\n        <div id=\"progress-bar\" class=\"progress-bar progress-bar-striped progress-bar-animated\" \n             role=\"progressbar\" style=\"width: 4%;\" aria-valuenow=\"4\" aria-valuemin=\"0\" aria-valuemax=\"100\">\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- \u984c\u76ee\u5361\u7247 -->\n    <div class=\"card border-0 shadow\">\n      <div class=\"card-body p-4 p-md-5\">\n        <h3 id=\"question-text\" class=\"h4 mb-4 fw-bold\">\u8f09\u5165\u4e2d&#8230;<\/h3>\n        \n        <div class=\"d-grid gap-3\" id=\"options-container\">\n          <!-- \u9078\u9805\u5c07\u7531 JavaScript \u52d5\u614b\u751f\u6210 -->\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- \u4e0a\u4e00\u984c\u6309\u9215 -->\n    <div class=\"text-center mt-4\">\n      <button id=\"prev-btn\" class=\"btn btn-outline-secondary px-4\" onclick=\"previousQuestion()\" style=\"display: none;\">\n        <i class=\"bi bi-arrow-left me-2\"><\/i>\u4e0a\u4e00\u9898\n      <\/button>\n    <\/div>\n  <\/section>\n\n  <!-- \u7d50\u679c\u9801 -->\n  <section id=\"result-page\" class=\"py-5\" style=\"display: none;\">\n    <h2 class=\"text-center mb-5\">\u6d4b\u9a8c\u7ed3\u679c<\/h2>\n    \n    <!-- \u5206\u6578\u5c55\u793a -->\n    <div class=\"text-center mb-5\">\n      <div class=\"bg-primary bg-gradient text-white rounded-circle p-5 d-inline-block shadow-lg\">\n        <div class=\"d-flex align-items-baseline\">\n          <span id=\"total-score\" class=\"display-3 fw-bold\">0<\/span>\n          <span class=\"fs-4 ms-2\">\u5206<\/span>\n        <\/div>\n      <\/div>\n      <h3 id=\"result-level\" class=\"h4 mt-4 mb-2 text-primary\">\u8f09\u5165\u4e2d&#8230;<\/h3>\n      <p id=\"age-group\" class=\"text-secondary\">\u9069\u7528\u5e74\u9f61\u6bb5\uff1a\u8f09\u5165\u4e2d&#8230;<\/p>\n    <\/div>\n    \n    <!-- \u8996\u89ba\u5316\u5716\u8868 -->\n    <div class=\"card border-0 shadow mb-5\">\n      <div class=\"card-body p-4\">\n        <h4 class=\"card-title mb-4\">\n          <i class=\"bi bi-graph-up me-2 text-primary\"><\/i>\n          \u6210\u5c31\u52d5\u6a5f\u5206\u6790\n        <\/h4>\n        <div style=\"height: 400px; position: relative;\">\n          <canvas id=\"resultChart\"><\/canvas>\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- \u8a73\u7d30\u5206\u6790 -->\n    <div class=\"card border-0 shadow mb-5\">\n      <div class=\"card-body p-4 p-md-5\">\n        <h4 class=\"card-title mb-4\">\n          <i class=\"bi bi-journal-text me-2 text-primary\"><\/i>\n          \u5fc3\u7075\u89e3\u6790\n        <\/h4>\n        <p id=\"analysis-content\" class=\"text-secondary mb-0\">\n          <!-- \u5206\u6790\u5167\u5bb9\u5c07\u7531 JavaScript \u52d5\u614b\u751f\u6210 -->\n        <\/p>\n      <\/div>\n    <\/div>\n    \n    <!-- \u500b\u4eba\u5efa\u8b70 -->\n    <div class=\"card border-0 shadow mb-5\">\n      <div class=\"card-body p-4 p-md-5\">\n        <h4 class=\"card-title mb-4\">\n          <i class=\"bi bi-lightbulb me-2 text-primary\"><\/i>\n          \u4e2a\u4eba\u5316\u5efa\u8bae\n        <\/h4>\n        <div id=\"suggestions-content\">\n          <!-- \u5efa\u8b70\u5167\u5bb9\u5c07\u7531 JavaScript \u52d5\u614b\u751f\u6210 -->\n        <\/div>\n      <\/div>\n    <\/div>\n    \n    <!-- \u91cd\u65b0\u6e2c\u8a66\u6309\u9215 -->\n    <div class=\"text-center\">\n      <button class=\"btn btn-primary btn-lg px-5 py-3 shadow\" onclick=\"resetTest()\">\n        <i class=\"bi bi-arrow-clockwise me-2\"><\/i>\n        \u91cd\u65b0\u6d4b\u8bd5\n      <\/button>\n    <\/div>\n  <\/section>\n<\/div>\n\n<!-- JavaScript \u908f\u8f2f -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\"><\/script>\n<script>\n(() => {\n  \/\/ \u984c\u76ee\u6578\u64da\n  const questions = [\n    \"\u7d93\u5e38\u60f3\u8457\u5118\u5feb\u7372\u5f97\u66f4\u9ad8\u7684\u8077\u4f4d\u3001\u66f4\u5927\u7684\u6210\u7e3e\u3002\",\n    \"\u7e3d\u662f\u4e0d\u77e5\u75b2\u5026\u5730\u70ba\u5be6\u73fe\u81ea\u5df1\u7684\u76ee\u6a19\u800c\u596e\u9b25\u3002\",\n    \"\u8a8d\u70ba\u81ea\u5df1\u7684\u696d\u7e3e\u53d7\u5230\u91cd\u8996\u662f\u975e\u5e38\u91cd\u8981\u7684\u4e8b\u3002\",\n    \"\u7a4d\u6975\u53c3\u52a0\u6709\u95dc\u5b78\u7fd2\u3001\u8a13\u7df4\uff0c\u52aa\u529b\u589e\u5f37\u81ea\u5df1\u7684\u7af6\u722d\u529b\u3002\",\n    \"\u89e3\u6c7a\u96e3\u984c\u6216\u7372\u5f97\u6210\u529f\u5f8c\u6703\u6709\u5de8\u5927\u7684\u8208\u596e\u548c\u5feb\u611f\u3002\",\n    \"\u59cb\u7d42\u6709\u4e00\u500b\u5e0c\u671b\u9054\u5230\u7684\u76ee\u6a19\u3002\",\n    \"\u7d93\u5e38\u5728\u4f11\u5047\u65e5\u5de5\u4f5c\u3002\",\n    \"\u611f\u89ba\u81ea\u5df1\u662f\u500b\u5f88\u6709\u91ce\u5fc3\u7684\u4eba\u3002\",\n    \"\u6e34\u671b\u6210\u70ba\u4eba\u7fa4\u4e2d\u6700\u51fa\u8272\u3001\u6700\u5bcc\u6709\u3001\u6700\u6210\u529f\u7684\u4eba\u3002\",\n    \"\u8a8d\u70ba\u81ea\u5df1\u662f\u500b\u5c0d\u8f38\u8d0f\u5f88\u5728\u610f\u7684\u4eba\u3002\",\n    \"\u559c\u6b61\u62ff\u81ea\u5df1\u7684\u6210\u7e3e\u548c\u5225\u4eba\u4f5c\u6bd4\u8f03\u3002\",\n    \"\u548c\u81ea\u5df1\u8cc7\u6b77\u76f8\u540c\u7684\u4eba\u537b\u6bd4\u81ea\u5df1\u6210\u529f\uff0c\u4f60\u5c0d\u6b64\u611f\u5230\u61a4\u6012\u3002\",\n    \"\u5f88\u5728\u4e4e\u81ea\u5df1\u662f\u5426\u53d7\u5230\u6279\u8a55\u3002\",\n    \"\u5c0d\u81ea\u5df1\u7684\u77e5\u8b58\u3001\u80fd\u529b\u548c\u6210\u7e3e\u7e3d\u611f\u5230\u4e0d\u6eff\u3002\",\n    \"\u8a8d\u70ba\u4eba\u7684\u91ce\u5fc3\u8d8a\u5927\uff0c\u5de5\u4f5c\u7684\u52d5\u529b\u5c31\u8d8a\u5927\u3002\",\n    \"\u8a8d\u70ba\u4ec0\u9ebc\u4e8b\u90fd\u505a\u4e0d\u597d\u7684\u4eba\u6c92\u6709\u51fa\u606f\u3002\",\n    \"\u65e5\u5e38\u904a\u6232\u6216\u6bd4\u8cfd\u7684\u6a02\u8da3\u5728\u65bc\u7372\u52dd\uff0c\u5426\u5247\u5c31\u6c92\u6709\u4ec0\u9ebc\u610f\u601d\u3002\",\n    \"\u51fa\u4eba\u982d\u5730\u6bd4\u5176\u4ed6\u4efb\u4f55\u4e8b\u60c5\u90fd\u4f86\u5f97\u91cd\u8981\u3002\",\n    \"\u5f9e\u4e8b\u7a69\u5b9a\u4f46\u767c\u5c55\u6a5f\u9047\u5c11\u7684\u5de5\u4f5c\uff0c\u4e0d\u5982\u6709\u5192\u96aa\u6027\u4f46\u767c\u5c55\u6a5f\u9047\u591a\u7684\u8077\u696d\u3002\",\n    \"\u7e3d\u60f3\u5728\u5718\u9ad4\u4e2d\u7576\u9818\u5c0e\u8005\u3002\",\n    \"\u6068\u4e0d\u5f97\u4e00\u4e0b\u5b50\u5c31\u64c1\u6709\u5f88\u591a\u7684\u6210\u529f\u3002\",\n    \"\u60f3\u6bd4\u7236\u6bcd\u3001\u5bb6\u4eba\u66f4\u6210\u529f\u3002\",\n    \"\u5982\u679c\u4f60\u662f\u904b\u52d5\u9078\u624b\uff0c\u7d55\u4e0d\u60f3\u53c3\u52a0\u5f97\u4e0d\u4e86\u540d\u6b21\u7684\u6bd4\u8cfd\u3002\",\n    \"\u5982\u679c\u4f60\u662f\u8463\u4e8b\u9577\uff0c\u6703\u52aa\u529b\u52dd\u904e\u516c\u53f8\u6240\u6709\u8077\u5de5\u3002\",\n    \"\u53ea\u6709\u5728\u6210\u7e3e\u512a\u7570\u6642\uff0c\u4f60\u624d\u5c0d\u81ea\u5df1\u611f\u5230\u6eff\u610f\u3002\"\n  ];\n\n  \/\/ \u8a55\u5206\u6a19\u6e96\n  const scoreRanges = {\n    \"14-16\": {\n      ranges: [[40, 50], [36, 39], [23, 35], [19, 22], [0, 18]],\n      labels: [\"\u5f88\u5f37\", \"\u8f03\u5f37\", \"\u4e00\u822c\", \"\u8f03\u5f31\", \"\u5f88\u5f31\"]\n    },\n    \"17-21\": {\n      ranges: [[35, 50], [31, 34], [22, 30], [14, 21], [0, 13]],\n      labels: [\"\u5f88\u5f37\", \"\u8f03\u5f37\", \"\u4e00\u822c\", \"\u8f03\u5f31\", \"\u5f88\u5f31\"]\n    },\n    \"22-30\": {\n      ranges: [[42, 50], [32, 41], [26, 31], [20, 25], [0, 19]],\n      labels: [\"\u5f88\u5f37\", \"\u8f03\u5f37\", \"\u4e00\u822c\", \"\u8f03\u5f31\", \"\u5f88\u5f31\"]\n    },\n    \"31+\": {\n      ranges: [[40, 50], [35, 39], [28, 34], [23, 27], [0, 22]],\n      labels: [\"\u5f88\u5f37\", \"\u8f03\u5f37\", \"\u4e00\u822c\", \"\u8f03\u5f31\", \"\u5f88\u5f31\"]\n    }\n  };\n\n  \/\/ \u5206\u6790\u6587\u5b57\n  const analyses = {\n    \"\u5f88\u5f37\": \"\u4f60\u7684\u91ce\u5fc3\u5f88\u5927\uff0c\u6709\u6975\u5f37\u7684\u6210\u5c31\u52d5\u6a5f\u3002\u4f60\u5f88\u60f3\u51fa\u4eba\u982d\u5730\uff0c\u5e79\u4e00\u756a\u5927\u4e8b\u696d\uff0c\u4f60\u8ffd\u6c42\u523a\u6fc0\u548c\u5192\u96aa\uff0c\u7136\u800c\u7531\u65bc\u4f60\u7684\u91ce\u5fc3\u904e\u65bc\u660e\u986f\u3001\u5f37\u70c8\uff0c\u671f\u671b\u904e\u9ad8\uff0c\u5f80\u5f80\u6b32\u901f\u5247\u4e0d\u9054\uff0c\u904e\u5f37\u7684\u52d5\u6a5f\u963b\u7919\u4e86\u624d\u80fd\u7684\u6709\u6548\u767c\u63ee\uff0c\u4f7f\u5f97\u4e8b\u8207\u9858\u9055\u3002\",\n    \"\u8f03\u5f37\": \"\u4f60\u6709\u8f03\u5927\u7684\u91ce\u5fc3\uff0c\u6210\u5c31\u52d5\u6a5f\u8f03\u5f37\u3002\u4f60\u60f3\u6709\u6240\u4f5c\u70ba\uff0c\u8207\u773e\u4e0d\u540c\uff0c\u4f60\u7684\u5de5\u4f5c\u52d5\u6a5f\u662f\u7372\u53d6\u6210\u5c31\u3002\u4f60\u5f88\u6ce8\u91cd\u6210\u7e3e\u7684\u9ad8\u4f4e\uff0c\u5c0d\u81ea\u5df1\u7684\u80fd\u529b\u4e5f\u80fd\u6709\u5ba2\u89c0\u7684\u8a55\u50f9\u3002\u53ef\u4ee5\u8aaa\uff0c\u4f60\u662f\u500b\u5f88\u73fe\u5be6\u7684\u4eba\uff0c\u901a\u904e\u5206\u6790\u81ea\u5df1\u6240\u8655\u7684\u74b0\u5883\u53ca\u81ea\u8eab\u7684\u60c5\u6cc1\uff0c\u6703\u505a\u51fa\u5408\u7406\u7684\u5b89\u6392\u3002\",\n    \"\u4e00\u822c\": \"\u4f60\u6709\u4e00\u5b9a\u7684\u91ce\u5fc3\uff0c\u6210\u5c31\u52d5\u6a5f\u4e00\u822c\uff0c\u4f46\u5c0d\u6b64\u7684\u614b\u5ea6\u6bd4\u8f03\u96a8\u610f\u3002\u4f60\u4e0d\u662f\u70ba\u7372\u5f97\u6210\u5c31\u800c\u5de5\u4f5c\uff0c\u5de5\u4f5c\u5728\u4f60\u7684\u751f\u6d3b\u4e2d\u53ea\u4f54\u6709\u90e8\u5206\u7684\u4f4d\u7f6e\u3002\u4f60\u7684\u9032\u53d6\u5fc3\u4e00\u822c\uff0c\u5f88\u53ef\u80fd\u4f60\u7684\u4e3b\u8981\u8208\u8da3\u4e0d\u5728\u5de5\u4f5c\u4e0a\uff0c\u4e5f\u53ef\u80fd\u662f\u7531\u65bc\u4f60\u7684\u52aa\u529b\u7d93\u5e38\u78b0\u58c1\uff0c\u800c\u4f7f\u4f60\u5931\u53bb\u4e86\u4fe1\u5fc3\uff0c\u6216\u58d3\u6291\u4e86\u4f60\u7684\u4e0a\u9032\u5fc3\u3002\",\n    \"\u8f03\u5f31\": \"\u4f60\u7684\u91ce\u5fc3\u4e0d\u5927\uff0c\u6210\u5c31\u52d5\u6a5f\u8f03\u5f31\u3002\u4f60\u7f3a\u4e4f\u4e0a\u9032\u7684\u76ee\u6a19\u548c\u52d5\u529b\u3002\u4f60\u5f88\u6eff\u8db3\u65bc\u73fe\u72c0\uff0c\u7f3a\u4e4f\u7af6\u722d\u6027\uff0c\u9019\u5c0d\u5de5\u4f5c\u6703\u7522\u751f\u4e0d\u5229\u5f71\u97ff\u3002\u4e00\u65e6\u4f60\u5c0d\u5de5\u4f5c\u7f3a\u4e4f\u91ce\u5fc3\uff0c\u5c31\u5f88\u96e3\u7372\u5f97\u6210\u529f\u3002\",\n    \"\u5f88\u5f31\": \"\u4f60\u7684\u91ce\u5fc3\u5f88\u5c0f\uff0c\u5e7e\u4e4e\u5b8c\u5168\u7f3a\u4e4f\u6210\u5c31\u52d5\u6a5f\u3002\u4f60\u7f3a\u4e4f\u7372\u5f97\u597d\u6210\u7e3e\u7684\u885d\u52d5\u548c\u7a4d\u6975\u6027\uff0c\u53ef\u80fd\u5b8c\u5168\u7f3a\u4e4f\u6d3b\u529b\u548c\u4e0a\u9032\u5fc3\uff0c\u4f60\u5c0d\u751f\u6d3b\u6c92\u6709\u4ec0\u9ebc\u5962\u671b\u61a7\u61ac\uff0c\u4e5f\u4e0d\u60f3\u4f5c\u592a\u591a\u7684\u52aa\u529b\u3002\"\n  };\n\n  \/\/ \u500b\u4eba\u5316\u5efa\u8b70\n  const suggestions = {\n    \"\u5f88\u5f37\": [\n      \"\u5b78\u7fd2\u653e\u6162\u8173\u6b65\uff1a\u8a2d\u5b9a\u968e\u6bb5\u6027\u76ee\u6a19\uff0c\u907f\u514d\u4e00\u6b21\u8ffd\u6c42\u592a\u591a\",\n      \"\u57f9\u990a\u8010\u5fc3\uff1a\u6210\u529f\u9700\u8981\u6642\u9593\u7d2f\u7a4d\uff0c\u5b78\u6703\u4eab\u53d7\u904e\u7a0b\",\n      \"\u5e73\u8861\u751f\u6d3b\uff1a\u9664\u4e86\u4e8b\u696d\u6210\u5c31\uff0c\u4e5f\u8981\u95dc\u6ce8\u5065\u5eb7\u548c\u4eba\u969b\u95dc\u4fc2\",\n      \"\u8abf\u6574\u671f\u671b\uff1a\u8a2d\u5b9a\u5be6\u969b\u53ef\u9054\u6210\u7684\u76ee\u6a19\uff0c\u907f\u514d\u904e\u5ea6\u58d3\u529b\",\n      \"\u5718\u968a\u5408\u4f5c\uff1a\u5b78\u7fd2\u6b23\u8cde\u4ed6\u4eba\u7684\u6210\u529f\uff0c\u5efa\u7acb\u5408\u4f5c\u95dc\u4fc2\"\n    ],\n    \"\u8f03\u5f37\": [\n      \"\u6301\u7e8c\u5b78\u7fd2\uff1a\u4fdd\u6301\u60a8\u7684\u7af6\u722d\u512a\u52e2\uff0c\u4e0d\u65b7\u63d0\u5347\u5c08\u696d\u80fd\u529b\",\n      \"\u5efa\u7acb\u4eba\u8108\uff1a\u8207\u5fd7\u540c\u9053\u5408\u7684\u4eba\u4ea4\u6d41\uff0c\u64f4\u5927\u5f71\u97ff\u529b\",\n      \"\u98a8\u96aa\u7ba1\u7406\uff1a\u5728\u8ffd\u6c42\u6210\u5c31\u6642\uff0c\u4e5f\u8981\u8a55\u4f30\u6f5b\u5728\u98a8\u96aa\",\n      \"\u5b9a\u671f\u53cd\u601d\uff1a\u6aa2\u8996\u76ee\u6a19\u662f\u5426\u7b26\u5408\u500b\u4eba\u50f9\u503c\u89c0\",\n      \"\u4fdd\u6301\u5f48\u6027\uff1a\u96a8\u74b0\u5883\u8b8a\u5316\u8abf\u6574\u7b56\u7565\u548c\u76ee\u6a19\"\n    ],\n    \"\u4e00\u822c\": [\n      \"\u63a2\u7d22\u8208\u8da3\uff1a\u627e\u51fa\u771f\u6b63\u6fc0\u767c\u60a8\u71b1\u60c5\u7684\u9818\u57df\",\n      \"\u8a2d\u5b9a\u76ee\u6a19\uff1a\u5373\u4f7f\u662f\u5c0f\u76ee\u6a19\uff0c\u4e5f\u80fd\u589e\u52a0\u6210\u5c31\u611f\",\n      \"\u7a81\u7834\u8212\u9069\u5708\uff1a\u9069\u5ea6\u6311\u6230\u81ea\u5df1\uff0c\u767c\u73fe\u6f5b\u80fd\",\n      \"\u5c0b\u6c42\u6fc0\u52f5\uff1a\u95b1\u8b80\u6210\u529f\u6545\u4e8b\u6216\u53c3\u52a0\u6fc0\u52f5\u8ab2\u7a0b\",\n      \"\u6176\u795d\u5c0f\u6210\u5c31\uff1a\u8a8d\u53ef\u81ea\u5df1\u7684\u9032\u6b65\uff0c\u5efa\u7acb\u81ea\u4fe1\"\n    ],\n    \"\u8f03\u5f31\": [\n      \"\u91cd\u65b0\u8a55\u4f30\uff1a\u601d\u8003\u4ec0\u9ebc\u5c0d\u60a8\u771f\u6b63\u91cd\u8981\",\n      \"\u5c0f\u6b65\u524d\u9032\uff1a\u5f9e\u7c21\u55ae\u53ef\u9054\u6210\u7684\u76ee\u6a19\u958b\u59cb\",\n      \"\u5c0b\u627e\u699c\u6a23\uff1a\u89c0\u5bdf\u8eab\u908a\u7a4d\u6975\u9032\u53d6\u7684\u4eba\",\n      \"\u5efa\u7acb\u7fd2\u6163\uff1a\u57f9\u990a\u898f\u5f8b\u7684\u5de5\u4f5c\u548c\u5b78\u7fd2\u7fd2\u6163\",\n      \"\u6b63\u5411\u601d\u8003\uff1a\u76f8\u4fe1\u81ea\u5df1\u6709\u6539\u8b8a\u7684\u80fd\u529b\"\n    ],\n    \"\u5f88\u5f31\": [\n      \"\u81ea\u6211\u63a2\u7d22\uff1a\u4e86\u89e3\u81ea\u5df1\u771f\u6b63\u7684\u8208\u8da3\u548c\u50f9\u503c\u89c0\",\n      \"\u5c0b\u6c42\u652f\u6301\uff1a\u8207\u670b\u53cb\u5bb6\u4eba\u8ac7\u8ac7\uff0c\u7372\u5f97\u9f13\u52f5\",\n      \"\u5065\u5eb7\u6aa2\u67e5\uff1a\u78ba\u4fdd\u8eab\u5fc3\u5065\u5eb7\uff0c\u6392\u9664\u751f\u7406\u56e0\u7d20\",\n      \"\u5617\u8a66\u65b0\u4e8b\u7269\uff1a\u63a2\u7d22\u4e0d\u540c\u6d3b\u52d5\uff0c\u627e\u5230\u71b1\u60c5\u6240\u5728\",\n      \"\u5c08\u696d\u5354\u52a9\uff1a\u5982\u9700\u8981\uff0c\u53ef\u8003\u616e\u5c0b\u6c42\u8077\u6daf\u8aee\u8a62\"\n    ]\n  };\n\n  \/\/ \u72c0\u614b\u7ba1\u7406\n  let currentQuestion = 0;\n  let answers = [];\n  let selectedAgeGroup = '22-30';\n\n  \/\/ \u9801\u9762\u5207\u63db\u51fd\u6578\n  window.startTest = () => {\n    \/\/ \u7372\u53d6\u9078\u64c7\u7684\u5e74\u9f61\u6bb5\n    const selectedAge = document.querySelector('input[name=\"age\"]:checked');\n    if (selectedAge) {\n      selectedAgeGroup = selectedAge.value;\n    }\n    \n    document.getElementById('intro-page').style.display = 'none';\n    document.getElementById('test-page').style.display = 'block';\n    showQuestion(0);\n    smoothScroll('test-page');\n  };\n\n  \/\/ \u986f\u793a\u984c\u76ee\n  function showQuestion(index) {\n    const questionText = document.getElementById('question-text');\n    const optionsContainer = document.getElementById('options-container');\n    const progressBar = document.getElementById('progress-bar');\n    const progressText = document.getElementById('progress-text');\n    const prevBtn = document.getElementById('prev-btn');\n    \n    \/\/ \u66f4\u65b0\u984c\u76ee\n    questionText.textContent = questions[index];\n    \n    \/\/ \u66f4\u65b0\u9032\u5ea6\n    const progress = ((index + 1) \/ questions.length) * 100;\n    progressBar.style.width = progress + '%';\n    progressText.textContent = `\u554f\u984c ${index + 1}\/${questions.length}`;\n    \n    \/\/ \u986f\u793a\/\u96b1\u85cf\u4e0a\u4e00\u984c\u6309\u9215\n    prevBtn.style.display = index > 0 ? 'inline-block' : 'none';\n    \n    \/\/ \u751f\u6210\u9078\u9805\n    const options = ['\u662f', '\u5f88\u96e3\u8aaa', '\u5426'];\n    const values = [2, 1, 0];\n    const variants = ['success', 'warning', 'danger'];\n    \n    optionsContainer.innerHTML = '';\n    options.forEach((option, i) => {\n      const button = document.createElement('button');\n      button.className = `btn btn-outline-${variants[i]} btn-lg w-100 text-start`;\n      button.innerHTML = `\n        <i class=\"bi bi-${i === 0 ? 'check-circle' : i === 1 ? 'question-circle' : 'x-circle'} me-2\"><\/i>\n        ${option}\n      `;\n      button.onclick = () => selectOption(values[i]);\n      \n      \/\/ \u5982\u679c\u5df2\u7d93\u56de\u7b54\u904e\uff0c\u986f\u793a\u9078\u4e2d\u72c0\u614b\n      if (answers[index] !== undefined && answers[index] === values[i]) {\n        button.classList.remove(`btn-outline-${variants[i]}`);\n        button.classList.add(`btn-${variants[i]}`);\n      }\n      \n      optionsContainer.appendChild(button);\n    });\n  }\n\n  \/\/ \u9078\u64c7\u9078\u9805\n  function selectOption(value) {\n    answers[currentQuestion] = value;\n    \n    \/\/ \u986f\u793a\u9078\u4e2d\u6548\u679c\n    const buttons = document.querySelectorAll('#options-container button');\n    const variants = ['success', 'warning', 'danger'];\n    buttons.forEach((btn, i) => {\n      btn.classList.remove(`btn-${variants[i]}`);\n      btn.classList.add(`btn-outline-${variants[i]}`);\n      if ((value === 2 && i === 0) || (value === 1 && i === 1) || (value === 0 && i === 2)) {\n        btn.classList.remove(`btn-outline-${variants[i]}`);\n        btn.classList.add(`btn-${variants[i]}`);\n      }\n    });\n    \n    \/\/ \u5ef6\u9072\u5f8c\u9032\u5165\u4e0b\u4e00\u984c\u6216\u986f\u793a\u7d50\u679c\n    setTimeout(() => {\n      if (currentQuestion < questions.length - 1) {\n        currentQuestion++;\n        showQuestion(currentQuestion);\n      } else {\n        showResult();\n      }\n    }, 300);\n  }\n\n  \/\/ \u4e0a\u4e00\u984c\n  window.previousQuestion = () => {\n    if (currentQuestion > 0) {\n      currentQuestion--;\n      showQuestion(currentQuestion);\n    }\n  };\n\n  \/\/ \u986f\u793a\u7d50\u679c\n  function showResult() {\n    document.getElementById('test-page').style.display = 'none';\n    document.getElementById('result-page').style.display = 'block';\n    \n    \/\/ \u8a08\u7b97\u7e3d\u5206\n    const totalScore = answers.reduce((sum, val) => sum + val, 0);\n    document.getElementById('total-score').textContent = totalScore;\n    \n    \/\/ \u78ba\u5b9a\u5e74\u9f61\u6bb5\u6587\u5b57\n    const ageGroupTexts = {\n      '14-16': '14-16\u6b72',\n      '17-21': '17-21\u6b72',\n      '22-30': '22-30\u6b72',\n      '31+': '31\u6b72\u4ee5\u4e0a'\n    };\n    document.getElementById('age-group').textContent = `\u9069\u7528\u5e74\u9f61\u6bb5\uff1a${ageGroupTexts[selectedAgeGroup]}`;\n    \n    \/\/ \u78ba\u5b9a\u6210\u5c31\u52d5\u6a5f\u7b49\u7d1a\n    const ranges = scoreRanges[selectedAgeGroup].ranges;\n    const labels = scoreRanges[selectedAgeGroup].labels;\n    let level = '';\n    \n    for (let i = 0; i < ranges.length; i++) {\n      if (totalScore >= ranges[i][0] && totalScore <= ranges[i][1]) {\n        level = labels[i];\n        break;\n      }\n    }\n    \n    document.getElementById('result-level').textContent = `\u6210\u5c31\u52d5\u6a5f\uff1a${level}`;\n    document.getElementById('analysis-content').textContent = analyses[level];\n    \n    \/\/ \u986f\u793a\u500b\u4eba\u5316\u5efa\u8b70\n    const suggestionsList = suggestions[level];\n    const suggestionsHTML = suggestionsList.map((suggestion, i) => `\n      <div class=\"d-flex align-items-start mb-3\">\n        <span class=\"badge bg-primary rounded-circle me-3\" style=\"min-width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;\">${i + 1}<\/span>\n        <p class=\"mb-0 text-secondary\">${suggestion}<\/p>\n      <\/div>\n    `).join('');\n    document.getElementById('suggestions-content').innerHTML = suggestionsHTML;\n    \n    \/\/ \u7e6a\u88fd\u5716\u8868\n    drawChart(totalScore, level, selectedAgeGroup);\n    \n    smoothScroll('result-page');\n  }\n\n  \/\/ \u7e6a\u88fd\u5716\u8868\n  function drawChart(score, level, ageGroup) {\n    const ctx = document.getElementById('resultChart').getContext('2d');\n    \n    \/\/ \u8a08\u7b97\u5206\u6578\u5728\u5404\u500b\u7dad\u5ea6\u7684\u8868\u73fe\n    const maxScore = 50;\n    const dimensions = [\n      { label: '\u76ee\u6a19\u5c0e\u5411', value: Math.min(score * 2.2, maxScore) },\n      { label: '\u7af6\u722d\u610f\u8b58', value: Math.min(score * 2.0, maxScore) },\n      { label: '\u6210\u5c31\u9700\u6c42', value: Math.min(score * 2.1, maxScore) },\n      { label: '\u9032\u53d6\u5fc3', value: Math.min(score * 1.9, maxScore) },\n      { label: '\u5805\u6301\u5ea6', value: Math.min(score * 2.3, maxScore) }\n    ];\n    \n    new Chart(ctx, {\n      type: 'radar',\n      data: {\n        labels: dimensions.map(d => d.label),\n        datasets: [{\n          label: '\u60a8\u7684\u6210\u5c31\u52d5\u6a5f\u8868\u73fe',\n          data: dimensions.map(d => d.value),\n          backgroundColor: 'rgba(13, 110, 253, 0.2)',\n          borderColor: 'rgba(13, 110, 253, 1)',\n          borderWidth: 3,\n          pointRadius: 6,\n          pointBackgroundColor: 'rgba(13, 110, 253, 1)',\n          pointBorderColor: '#fff',\n          pointBorderWidth: 2,\n          pointHoverRadius: 8\n        }]\n      },\n      options: {\n        responsive: true,\n        maintainAspectRatio: false,\n        plugins: {\n          legend: {\n            display: false\n          },\n          tooltip: {\n            callbacks: {\n              label: function(context) {\n                const value = context.parsed.r;\n                const percentage = Math.round((value \/ maxScore) * 100);\n                return `${context.label}: ${percentage}%`;\n              }\n            }\n          }\n        },\n        scales: {\n          r: {\n            beginAtZero: true,\n            max: maxScore,\n            ticks: {\n              stepSize: 10,\n              display: false\n            },\n            grid: {\n              color: 'rgba(0, 0, 0, 0.1)'\n            },\n            pointLabels: {\n              font: {\n                size: 14,\n                weight: 'bold'\n              },\n              color: '#495057'\n            }\n          }\n        }\n      }\n    });\n  }\n\n  \/\/ \u91cd\u65b0\u6e2c\u8a66\n  window.resetTest = () => {\n    currentQuestion = 0;\n    answers = [];\n    document.getElementById('result-page').style.display = 'none';\n    document.getElementById('intro-page').style.display = 'block';\n    smoothScroll('intro-page');\n  };\n\n  \/\/ \u5e73\u6ed1\u6efe\u52d5\n  function smoothScroll(elementId) {\n    const element = document.getElementById(elementId);\n    const offset = element.offsetTop - 20;\n    window.scrollTo({\n      top: offset,\n      behavior: 'smooth'\n    });\n  }\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u7684\u6d4b\u9a8c\u5c06\u5e2e\u52a9\u4f60\u4e86\u89e3\u81ea\u5df1\u7684\u91ce\u5fc3\u6709\u591a\u5927\u3002\u8bf7\u4f60\u6839\u636e\u81ea\u5df1\u7684\u5b9e\u9645\u60c5\u51b5\uff0c\u4ece\u300c\u662f\u300d\u3001\u300c\u5426\u300d\u6216\u8005\u300c\u5f88\u96be\u8bf4\u300d\u4e2d\u9009\u62e9\u4e00\u9879\u3002<\/p>","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"narrow-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[176,167,160,159,164],"tags":[],"class_list":["post-2761","post","type-post","status-publish","format-standard","hentry","category-career","category-personality","category-attitude-scales","category-aptitude","category-interest-inventories"],"_links":{"self":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/comments?post=2761"}],"version-history":[{"count":5,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2761\/revisions"}],"predecessor-version":[{"id":10584,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2761\/revisions\/10584"}],"wp:attachment":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/media?parent=2761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/categories?post=2761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/tags?post=2761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}