{"product_id":"ttbici-x-tdfsg-green-t-shirt-green","title":"เสื้อยืดสีเขียว TTBICI X TDFSG \/ สีเขียว","description":"Milan vs Philipsen – เสื้อยืด ttbici X TDFSG Green T-Shirt\r\n\u003cbr\u003e\u003cbr\u003e\r\nเสื้อยืดสีเขียวได้รับแรงบันดาลใจจากเหล่านักปั่นสปรินเตอร์ระดับโลก ออกแบบตามเสื้อเขียวของสปรินเตอร์แบบคลาสสิก เชียร์นักปั่นที่คุณรักไปด้วยกัน\r\n\u003cbr\u003e\u003cbr\u003e\r\nผสานความสบายในชีวิตประจำวันกับเทคโนโลยี Polygiene® ช่วยยับยั้งแบคทีเรียและลดกลิ่นไม่พึงประสงค์ เพื่อความสดชื่นยาวนาน\r\n\u003c!DOCTYPE html\u003e\r\n\u003chtml lang=\"zh-Hant\"\u003e\r\n\r\n\u003chead\u003e\r\n  \u003cmeta charset=\"UTF-8\" \/\u003e\r\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/\u003e\r\n  \u003cstyle\u003e\r\n    body.product-modal-open {\r\n      overflow: hidden;\r\n    }\r\n\r\n    .product-modal-overlay {\r\n      display: none;\r\n      position: fixed;\r\n      top: 0;\r\n      left: 0;\r\n      width: 100vw;\r\n      height: 100vh;\r\n      background-color: rgba(0, 0, 0, 0.5);\r\n      backdrop-filter: blur(2px);\r\n      z-index: 1000;\r\n      justify-content: center;\r\n      align-items: center;\r\n    }\r\n\r\n    .product-modal {\r\n      background: white;\r\n      padding: 20px;\r\n      \/* border-radius: 10px; *\/\r\n      max-width: 600px;\r\n      width: 90%;\r\n      max-height: 90vh;\r\n      overflow-y: auto;\r\n      position: relative;\r\n    }\r\n\r\n    .product-modal .modal-close {\r\n      position: absolute;\r\n      top: 10px;\r\n      right: 12px;\r\n      font-size: 20px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    \/* ✅ 統一按鈕樣式 *\/\r\n    .button-group {\r\n      display: flex;\r\n      gap: 12px;\r\n      padding-top: 20px;\r\n    }\r\n\r\n    .button-group button {\r\n      padding: 0px;\r\n      border: none;\r\n      background-color: transparent;\r\n      color: #333;\r\n      cursor: pointer;\r\n      \/* border-radius: 5px; *\/\r\n      font-size: 15px;\r\n      font-family: 'Microsoft JhengHei';\r\n      text-decoration: underline;\r\n    }\r\n\r\n    .button-group button.active {\r\n      \/* background-color: #444; *\/\r\n    }\r\n\r\n    button:active {\r\n      box-shadow: none !important;\r\n      color: #333 !important;\r\n    }\r\n\r\n    .product-modal table {\r\n      width: 100%;\r\n      border-collapse: collapse;\r\n      margin-top: 10px;\r\n    }\r\n\r\n    .product-modal th,\r\n    .product-modal td {\r\n      border-bottom: 1px solid #ddd;\r\n      text-align: center;\r\n      padding: 8px;\r\n    }\r\n\r\n    \/* ✅ 新增的欄寬限制 *\/\r\n    .product-modal table th:first-child,\r\n    .product-modal table td:first-child {\r\n      width: 15%;\r\n      max-width: 15%;\r\n    }\r\n\r\n    .product-modal .toggle-wrapper {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      margin: 10px 0 20px;\r\n    }\r\n\r\n    .product-modal .toggle {\r\n      position: relative;\r\n      display: inline-block;\r\n      width: 50px;\r\n      height: 24px;\r\n    }\r\n\r\n    .product-modal .toggle input {\r\n      opacity: 0;\r\n      width: 0;\r\n      height: 0;\r\n    }\r\n\r\n    .product-modal .slider {\r\n      position: absolute;\r\n      cursor: pointer;\r\n      background-color: #ccc;\r\n      border-radius: 24px;\r\n      top: 0;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n      transition: 0.4s;\r\n    }\r\n\r\n    .product-modal .slider:before {\r\n      content: \"\";\r\n      position: absolute;\r\n      height: 18px;\r\n      width: 18px;\r\n      left: 3px;\r\n      bottom: 3px;\r\n      background-color: white;\r\n      transition: 0.4s;\r\n      border-radius: 50%;\r\n    }\r\n\r\n    .product-modal input:checked+.slider {\r\n      background-color: #333;\r\n    }\r\n\r\n    .product-modal input:checked+.slider:before {\r\n      transform: translateX(26px);\r\n    }\r\n\r\n    .product-modal .modalInnerContent h3 {\r\n      padding: 20px 0;\r\n\r\n    }\r\n  \u003c\/style\u003e\r\n\u003c\/head\u003e\r\n\r\n\u003cbody\u003e\r\n\r\n  \u003c!-- 外部觸發按鈕 --\u003e\r\n  \u003cdiv class=\"button-group\"\u003e\r\n    \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003eรายละเอียดการจัดส่ง\u003c\/button\u003e --\u003e\r\n    \u003cbutton onclick=\"openModal('size')\"\u003eตารางไซซ์\u003c\/button\u003e\r\n    \u003cbutton onclick=\"openModal('care')\"\u003eการดูแลและซักล้าง\u003c\/button\u003e\r\n  \u003c\/div\u003e\r\n\r\n  \u003c!-- Modal --\u003e\r\n  \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\r\n    \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\r\n      \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\r\n\r\n      \u003c!-- 內部選單 --\u003e\r\n      \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\r\n        \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003eรายละเอียดการจัดส่ง\u003c\/button\u003e --\u003e\r\n        \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003eตารางไซซ์\u003c\/button\u003e\r\n        \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003eการดูแลและซักล้าง\u003c\/button\u003e\r\n      \u003c\/div\u003e\r\n\r\n      \u003c!-- 內容區 --\u003e\r\n      \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\r\n    \u003c\/div\u003e\r\n  \u003c\/div\u003e\r\n\r\n  \u003cscript\u003e\r\n    const modalOverlay = document.getElementById(\"modalOverlay\");\r\n    const modalInner = document.getElementById(\"modalInnerContent\");\r\n\r\n\t\tconst sizeData = {\r\n\t\t\tcm: [\r\n\t\t\t\t{ size: 'XS', width: '46', length: '63', sleeve: '37' },\r\n\t\t\t\t{ size: 'S', width: '49', length: '66', sleeve: '38' },\r\n\t\t\t\t{ size: 'M', width: '52', length: '69', sleeve: '39' },\r\n\t\t\t\t{ size: 'L', width: '55', length: '71', sleeve: '40' },\r\n\t\t\t\t{ size: 'XL', width: '58', length: '74', sleeve: '41' },\r\n\t\t\t\t{ size: '2XL', width: '60', length: '77', sleeve: '42' }\r\n\t\t\t],\r\n\t\t\tinches: [\r\n\t\t\t\t{ size: 'XS', width: '18', length: '25', sleeve: '14.5' },\r\n\t\t\t\t{ size: 'S', width: '19', length: '26', sleeve: '14.5' },\r\n\t\t\t\t{ size: 'M', width: '21', length: '27', sleeve: '15' },\r\n\t\t\t\t{ size: 'L', width: '22', length: '28', sleeve: '15.5' },\r\n\t\t\t\t{ size: 'XL', width: '23', length: '29', sleeve: '16' },\r\n\t\t\t\t{ size: '2XL', width: '24', length: '30', sleeve: '16.5' }\r\n\t\t\t]\r\n\t\t};\r\n    function openModal(defaultTab) {\r\n      document.body.classList.add(\"product-modal-open\");\r\n      modalOverlay.style.display = \"flex\";\r\n      switchTab(defaultTab);\r\n    }\r\n\r\n    function closeModal() {\r\n      modalOverlay.style.display = \"none\";\r\n      modalInner.innerHTML = \"\";\r\n      document.body.classList.remove(\"product-modal-open\");\r\n    }\r\n\r\n    function switchTab(tab) {\r\n      ['shipping', 'care', 'size'].forEach(id =\u003e {\r\n        const btn = document.getElementById(`tab-${id}`);\r\n        if (btn) btn.classList.remove(\"active\");\r\n      });\r\n\r\n      const activeBtn = document.getElementById(`tab-${tab}`);\r\n      if (activeBtn) activeBtn.classList.add(\"active\");\r\n\r\n      if (tab === 'shipping') {\r\n        modalInner.innerHTML = `\u003ch3\u003eรายละเอียดการจัดส่ง\u003c\/h3\u003e\u003cp\u003eสามารถใส่ข้อมูลเกี่ยวกับวิธีการจัดส่ง ระยะเวลา และค่าจัดส่งได้ที่นี่\u003c\/p\u003e`;\r\n      } else if (tab === 'care') {\r\n        modalInner.innerHTML = `\r\n\t\t\u003ch3\u003eการดูแลและซักล้าง\u003c\/h3\u003e\r\n\t\t\u003col\u003e\r\n\t\t\t\u003cli\u003eแนะนำให้แยกซักเสื้อผ้าตามโทนสีเข้มและอ่อนเพื่อลดความเสี่ยงของการเกิดสีตก\u003c\/li\u003e\r\n\t\t\t\u003cli\u003eหลังจากใช้งาน ควรซักทันทีเพื่อลดการสะสมของแบคทีเรียและกลิ่นเหม็น และเพื่อป้องกันการเกิดคราบเหงื่อหรือสีเหลืองบนเสื้อผ้า\u003c\/li\u003e\r\n\t\t\t\u003cli\u003eก่อนซัก ควรรูดซิปทุกอันให้เรียบร้อย เพื่อป้องกันการทำลายผ้าในระหว่างซัก ใช้น้ำเย็นและผงซักฟอกแบบอ่อนแช่ไว้ 5–10 นาที แล้วขยี้เบา ๆ ก่อนล้างออกให้สะอาด\u003cbr\u003e\r\n\t\t\t\u003cstrong\u003eห้ามใช้ผลิตภัณฑ์ซักผ้าที่มีส่วนผสมของน้ำยาปรับผ้านุ่ม น้ำยาฟอกขาว หรือน้ำยาซักผ้าเย็น เพราะอาจทำลายเนื้อผ้าได้\u003c\/strong\u003e\u003c\/li\u003e\r\n\t\t\t\u003cli\u003eควรซักด้วยมือ หากต้องการใช้เครื่องซักผ้า ให้รูดซิปทุกอัน ใส่ถุงซักและกลับด้านในออก ตั้งโหมดเครื่องซักผ้าเป็น “ซักแบบถนอมผ้า”\u003c\/li\u003e\r\n\t\t\t\u003cli\u003eห้ามบิดผ้าแรง ๆ และไม่ควรใช้เครื่องอบผ้าเพราะอาจทำให้เสื้อผ้าเสียหาย\u003cbr\u003e\r\n\t\t\tแนะนำให้ใช้ผ้าขนหนูซับน้ำออกก่อน และตากในที่ร่มที่อากาศถ่ายเท\u003c\/li\u003e\r\n\t\t\u003c\/ol\u003e\r\n\t\t\u003cp\u003e\u003cstrong\u003e※ เนื่องจากกระบวนการผลิตและการย้อมของแต่ละรุ่นแตกต่างกัน เสื้อผ้าอาจมีการซีดจางบ้างระหว่างการใช้งานหรือซักล้าง ซึ่งไม่ควรถือว่าเป็นข้อบกพร่องของสินค้า โดยเฉพาะเสื้อผ้าสีสว่างอาจซีดง่ายกว่าสีอื่น ๆ แนะนำให้สวมใส่หรือซักกับเสื้อผ้าสีใกล้เคียงกัน\u003c\/strong\u003e\u003c\/p\u003e\r\n\t`;\r\n\r\n      } else if (tab === 'size') {\r\n        modalInner.innerHTML = `\r\n          \u003ch3\u003eตารางไซซ์\u003c\/h3\u003e\r\n          \u003cdiv class=\"toggle-wrapper\"\u003e\r\n            \u003cspan\u003eCM\u003c\/span\u003e\r\n            \u003clabel class=\"toggle\"\u003e\r\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\r\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\r\n            \u003c\/label\u003e\r\n            \u003cspan\u003eINCHES\u003c\/span\u003e\r\n          \u003c\/div\u003e\r\n          \u003ctable\u003e\r\n            \u003cthead\u003e\r\n              \u003ctr\u003e\r\n                \u003cth\u003eขนาด\u003c\/th\u003e\r\n                \u003cth id=\"chestHeader\"\u003eรอบอก\u003c\/th\u003e\r\n                \u003cth id=\"waistHeader\"\u003eเอว\u003c\/th\u003e\r\n                \u003cth id=\"hipHeader\"\u003eสะโพก\u003c\/th\u003e\r\n              \u003c\/tr\u003e\r\n            \u003c\/thead\u003e\r\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\r\n          \u003c\/table\u003e\r\n        `;\r\n        renderSizeTable('cm');\r\n        document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\r\n          renderSizeTable(e.target.checked ? 'inches' : 'cm');\r\n        });\r\n      }\r\n    }\r\n\r\n    function renderSizeTable(unit) {\r\n      const body = document.getElementById(\"tableBody\");\r\n      body.innerHTML = \"\";\r\n      sizeData[unit].forEach(row =\u003e {\r\n        body.innerHTML += `\r\n      \u003ctr\u003e\r\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\r\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\r\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\r\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\r\n      \u003c\/tr\u003e`;\r\n      });\r\n    }\r\n  \u003c\/script\u003e\r\n\u003c\/body\u003e\r\n\r\n\u003c\/html\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48089799524576,"sku":"B6TC-TD4-GR0XSN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48089799557344,"sku":"B6TC-TD4-GR00SN","price":1480.0,"currency_code":"TWD","in_stock":false},{"title":"M","offer_id":48089799590112,"sku":"B6TC-TD4-GR00MN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48089799622880,"sku":"B6TC-TD4-GR00LN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"XL","offer_id":48089799655648,"sku":"B6TC-TD4-GR0XLN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"2XL","offer_id":48089799688416,"sku":"B6TC-TD4-GR2XLN","price":1480.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/green_t_shirt_green_1_1.jpg?v=1762245251","url":"https:\/\/www.ttbici.com\/th-th\/products\/ttbici-x-tdfsg-green-t-shirt-green","provider":"TTBICI","version":"1.0","type":"link"}