{"title":"Shop the Feed-Mini S","description":"","products":[{"product_id":"miofive-mini-s-4k-dash-cam","title":"MIOFIVE Dashcam Mini S – 4K UHD Frontkamera (ohne SD-Karte)(UK)","description":"\u003cstyle type=\"text\/css\"\u003e\n    .description-content {\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item {\n        width: 100%;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item img {\n        width: 100%;\n    }\n\n    .description-scroll {\n        position: relative;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-scroll-btn {\n        top: 50%;\n        position: absolute;\n        padding: 10px;\n        cursor: pointer;\n        width: 42px;\n        height: 42px;\n        border-radius: 50%;\n        background-color: rgb(247, 247, 247);\n        border: 1px solid var(--icon);\n        transform: translateY(-50%);\n        border-color: transparent;\n        z-index: 1;\n    }\n\n    .description-scroll-btn-left {\n        left: 0;\n        margin-left: -0.2rem;\n        transform: rotate(90deg) translateX(-0.15rem);\n    }\n\n    .description-scroll-btn-left:hover {\n        transform: rotate(90deg) translateX(-0.15rem) scale(0.98);\n    }\n\n    .description-scroll-btn-right {\n        right: 0;\n        margin-right: -0.2rem;\n        transform: rotate(-90deg) translateX(0.15rem);\n    }\n\n    .description-scroll-btn-right:hover {\n        transform: rotate(-90deg) translateX(0.15rem) scale(0.98);\n    }\n\n    .description-dot-container {\n        position: absolute;\n        bottom: 20px;\n        width: 100%;\n        display: flex;\n        justify-content: center;\n    }\n\n    .description-dot {\n        background-color: #fff;\n        \/* 圆点颜色 *\/\n        border: 1px solid #000;\n        \/* 边框 *\/\n        padding: 5px;\n        \/* 圆点大小 *\/\n        border-radius: 50%;\n        \/* 设置为圆形 *\/\n        margin: 0 5px;\n        \/* 圆点之间的间距 *\/\n        cursor: pointer;\n        \/* 鼠标悬停时显示手形图标 *\/\n        outline: none;\n        \/* 点击时不显示轮廓 *\/\n    }\n\n    .description-dot.active {\n        background-color: #D72735;\n    }\n\n    .description-container {\n        padding: 0px;\n        margin: 0px;\n        display: flex;\n        overflow-x: auto;\n        scroll-snap-type: x mandatory;\n        scroll-behavior: smooth;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-container::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-wrapper {\n        position: relative;\n        flex: 0 0 100%;\n        width: 100%;\n        display: flex;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n    }\n\n    .description-wrapper img {\n        width: 100%;\n    }\n\n    .description-wrapper h3 {\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n    .description-wrapper p {\n        margin: 0px;\n        padding: 0px;\n        font-size: 14px;\n        margin-bottom: 8px;\n    }\n\n    .description-wrapper-item {\n        flex: 1;\n    }\n\n    .description-wrapper-text {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding-left: 5%;\n        padding-right: 5%;\n    }\n\n    .description-wrapper-header {\n        display: flex;\n        padding: 10px 0 12px 100px;\n        margin: 0px;\n        align-items: center;\n        justify-content: center;\n        background-color: #3A3E48;\n        overflow-x: auto;\n        overflow-y: hidden;\n        white-space: nowrap;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-wrapper-header::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-header-button {\n        color: white;\n        text-align: center;\n        font-size: 20px;\n        font-weight: 700;\n        margin-right: 80px;\n        padding: 5px 0 5px 0;\n        background-color: transparent;\n    }\n\n    .description-header-button.active {\n        border-bottom: 3px solid #fff;\n    }\n\n    .description-specification-item {\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        width: 100%;\n    }\n\n    .description-column {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 30%;\n    }\n\n    .description-column-specifications {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 40%;\n    }\n\n    .description-column-mb {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-column img {\n        width: 100%;\n    }\n\n    .description-column-title {\n        position: absolute;\n        top: 5%;\n        left: 30%;\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n\n    .description-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-specifications {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-specifications-title {\n        width: 100%;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n    }\n\n    .description-specifications-border {\n        border: 1px solid #000;\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        margin: 0px 3px 0px 3px;\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n\n    .description-specifications-column {\n        position: relative;\n        width: 33.333%;\n    }\n\n    .description-specifications-column p {\n        width: 100%;\n        text-align: center;\n        font-size: 12px;\n        color: #232323;\n        margin-bottom: 35px;\n    }\n\n    .description-specifications-item {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 88%;\n        margin-left: 6%;\n        margin-right: 6%;\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-specifications-item-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        margin-top: 3px;\n        margin-bottom: 3px;\n    }\n\n    .description-specifications-a {\n        text-decoration: none;\n    }\n\n    .description-specifications-button {\n        width: 80%;\n        margin-top: 15px;\n        margin-left: 10%;\n        margin-bottom: 45px;\n        padding-top: 10px;\n        padding-bottom: 10px;\n        background-color: #232323;\n        color: #fff;\n        border: none;\n        border-radius: 20px;\n        font-size: 16px;\n        text-align: center;\n    }\n\n    .description-faqs-item {\n        background-color: #fafafa;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\n    .description-faqs-header {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 100%;\n    }\n\n    .description-faqs-header.active {\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-faqs-title {\n        font-size: 18px;\n        color: #232323;\n        background-color: #fafafa;\n        text-align: left;\n        padding: 10px 0 10px 0;\n    }\n\n    .description-faqs-arrow {\n        --rotation: -180deg;\n        width: 14px;\n        height: 14px;\n        transform: rotate(var(--rotation));\n        transition: all .3s ease;\n    }\n\n    .description-faqs-header:not(.description-faqs-collapsed) .description-faqs-arrow {\n        --rotation: 0deg;\n    }\n\n    .description-faqs-collapse {\n        display: none;\n        padding-bottom: 10px;\n        transition: all .5s ease-out;\n    }\n\n    .description-faqs-collapse-text {\n        font-size: 14px;\n        margin-top: 10px;\n    }\n\n    .description-contact-us-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-contact-us-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\n\n    @media screen and (max-width: 767px) {\n        .description-wrapper {\n            display: block;\n        }\n\n        .description-wrapper img {\n            width: 100%;\n        }\n\n        .description-wrapper-text {\n            margin-top: 30px;\n        }\n\n        .description-wrapper-header {\n            justify-content: start;\n            padding-left: 30px;\n            padding-right: 30px;\n        }\n\n        .description-column {\n            width: 50%;\n        }\n\n        .description-specification-item {\n            position: relative;\n            display: block;\n        }\n\n        .description-column-title {\n            position: relative;\n            width: 100%;\n            text-align: center;\n            top: 0px;\n            left: 0px;\n            margin-bottom: 0px;\n        }\n\n        .description-faqs-title {\n            font-size: 16px;\n        }\n    }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"description-content\"\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-item-1\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-item-2\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-3\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-4\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-5\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-6\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-specification-item\" id=\"description-specification\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-faqs\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv\u003e\n\n\u003cbr\u003e\n\u003cdiv class=\"description-contact-us-title\"\u003e KONTAKTIEREN SIE UNS\u003c\/div\u003e\n\n\u003cdiv class=\"description-contact-us-text\"\u003e Haben Sie eine Frage oder einen Kommentar? Senden Sie uns eine E-Mail an \u003ca style=\"color: #000;\" href=\"mailto:support@miofive.com?subject=Assistance%20Required%20-%20Order%20Number:\u0026amp;body=Hi%20Miofive%20%20%0A%0A%20My%20Order%20Number%20is:%20%20%20%0A%0A%0APlease%20type%20your%20question%20below,%20and%20tell%20us%20how%20can%20we%20help%20you?\"\u003esupport@miofive.com\u003c\/a\u003e . Unser engagiertes Kundensupport-Team hilft Ihnen gerne weiter und antwortet Ihnen werktags innerhalb von 24 Stunden.\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003cscript\u003e\n    function initData() {\n        const data = {\n            item1: {\n                img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_1.jpg?v=1741676199',\n                img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_1_mb.jpg?v=1741676197'\n            },\n            item2: {\n                img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_2.jpg?v=1741676199',\n                img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_2_mb.jpg?v=1741676197'\n            },\n            item3: [\n                {\n                    title: '2160P Dash Cam',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_3.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_3_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'SD Card Required',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_4.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_4_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'Super Night Vision',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_5.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_5_mb.jpg?v=1741676198'\n                }\n            ],\n            item4: [\n                {\n                    title: 'GPS Tracking',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_7.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_7_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'Smart Wi-Fi \u0026 App',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_6.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_6_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'Timeline Review',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_8.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_8_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'OTA Updates',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_9.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_9_mb.jpg?v=1741676197'\n                }\n            ],\n            item5: [\n                {\n                    title: 'Built-in G-Sensor',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_10.jpg?v=1741676199',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_10_mb.jpg?v=1741676197'\n                },\n                {\n                    title: 'Loop Recording',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_11.jpg?v=1742442778',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_11_mb.jpg?v=1742442779'\n                },\n                {\n                    title: '24H Parking Mode',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_12.jpg?v=1741676198',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_12_mb.jpg?v=1741676197'\n                }\n            ],\n            item6: [\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_13.jpg?v=1741676198',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_13_mb.jpg?v=1741676197'\n                },\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_14.jpg?v=1741676197',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_MiniS_Description_14_mb.jpg?v=1741676196'\n                }\n            ],\n            item7: [\n                {\n                    title: 'Mini S',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS_mb.jpg?v=1741747255',\n                    link: '',\n                    specifications: [\n                        '4K(3840x2160) @25fps',\n                        'X',\n                        'X',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'Mini 2',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2_mb.jpg?v=1741747255',\n                    link: '\/en-gb\/products\/mini-2-uk',\n                    specifications: [\n                        '2K(2560x1440) @30fps',\n                        '1920x1080P @25fps',\n                        'X',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'S1',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_S_Description_S1.jpg?v=1739441641',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_S_Description_S1_mb.jpg?v=1739441641',\n                    link: '\/en-gb\/products\/s1-uk',\n                    specifications: [\n                        '4K(3840x2160) @30fps',\n                        'X',\n                        '3\" IPS',\n                        '2.4G \u0026 5G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                }\n            ],\n            item8: [\n                {\n                    title: \"How does the dash cam start working?\",\n                    content: [\n                        \"When using it for the first time, simply power on the dash cam and follow the instructions in the manual to connect the app and activate the device. After the initial setup, the dash cam will automatically start recording whenever it is powered on.\"\n                    ]\n                },\n                {\n                    title: \"Why is the video quality of my dash cam unclear?\",\n                    content: [\n                        \"To ensure smoother video playback, the videos viewed on the app or the dash cam screen are compressed and may not represent the original video quality. Please download the video to your phone's gallery or computer for better clarity.\"\n                    ]\n                },\n                {\n                    title: \"I want to use the parking monitoring function. Do I have to buy a separate hard wire kit?\",\n                    content: [\n                        \"Yes, the hardwire kit (ASIN: B0CRHM5V1C) enables the Mini S Dash Cam's parking monitoring mode. The hard-wire kit is not included; you need to purchase it separately.\"\n                    ]\n                },\n                {\n                    title: \"Do I need to buy an SD card to use this dash cam? Which memory card is recommended?\",\n                    content: [\n                        \"This dash cam supports memory cards from 32 GB to 512 GB. The SD card is NOT INCLUDED. If you need to purchase a new one, we recommend a U3 Class 10 microSD card from Miofive.\"\n                    ]\n                },\n                {\n                    title: \"How does the dash cam format the memory card?\",\n                    content: [\n                        \"Open the Miofive app, go to My Device → Quick Settings → More → Format Memory Card.\",\n                        \"Please be aware that formatting the memory card will erase all existing data. Ensure that you have backed up important files before proceeding with the forma process.\"\n                    ]\n                }\n            ]\n        };\n        return data;\n    }\n\n    const descriptionData = initData();\n    \/\/规格数据\n    const specificationData = descriptionData.item7;\n    const specificationTitle = \"Miofive Dashcam\";\n    const specificationList = [\n        'Front Resolution',\n        'Rear Resolution',\n        'Display',\n        'Wi-Fi',\n        'Bluetooth',\n        'SD Card（Included）',\n        'Super Capacitor'\n    ];\n\n    addItem1();\n    addItem2();\n    addItem3();\n    addItem4();\n    addItem5();\n    addItem6();\n    addSpecification();\n    addFAQs();\n\n    function addItem1() {\n        const descriptionItem1 = document.getElementById('description-item-1');\n        descriptionItem1.innerHTML = addPicture(descriptionData.item1);\n    }\n\n    function addItem2() {\n        const descriptionItem2 = document.getElementById('description-item-2');\n        descriptionItem2.innerHTML = addPicture(descriptionData.item2);\n    }\n\n    function addItem3() {\n        const headers = [];\n        let list = descriptionData.item3;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 3;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n                \n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem4() {\n        const headers = [];\n        let list = descriptionData.item4;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 4;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n                \n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem5() {\n        const headers = [];\n        let list = descriptionData.item5;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 5;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n                \n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem6() {\n        const dots = [];\n        let list = descriptionData.item6;\n        let dotCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 6;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId +'-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n        list.forEach((item, index) =\u003e {\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e'\n                + addPicture(item)\n                + '\u003c\/div\u003e';\n        });\n\n        scrollOption += '\u003c\/div\u003e';\n\n        option += scrollOption + addDotButton(dotCount, \"scroll-\" + descriptionId + \"-\");\n        descriptionItem.innerHTML = option;\n\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(dots, selectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"scroll-\" + descriptionId + \"-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                dots.push(dotBtn);\n            }\n        }\n        showSelectDot(dots, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    \/\/规格\n    function addSpecification() {\n        const specification = document.getElementById('description-specification');\n\n        const specificationDots = [];\n        let dotCount = 0;\n        let specificationSelectIndex = 0;\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            specification.innerHTML = addSpecificationMobile();\n            dotCount = 3;\n        } else {\n            specification.innerHTML = addSpecificationDesktop();\n            dotCount = 2;\n        }\n\n        const scrollSpecification = document.getElementById(\"description-scroll-specification\");\n        scrollSpecification.addEventListener('scroll', () =\u003e {\n            let index = scrollSpecification.scrollLeft \/ scrollSpecification.offsetWidth;\n            index = Math.round(index);\n\n            if (specificationSelectIndex != index) {\n                specificationSelectIndex = index;\n                showSelectDot(specificationDots, specificationSelectIndex);\n                updateSpecificationsContent(specificationSelectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"specification-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scrollSpecification.scrollLeft = i * scrollSpecification.offsetWidth;\n                });\n\n                specificationDots.push(dotBtn);\n            }\n        }\n\n        showSelectDot(specificationDots, specificationSelectIndex);\n        updateSpecificationsContent(specificationSelectIndex);\n\n        const previous = document.getElementById(\"specification-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"specification-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n    }\n\n    function addSpecificationDesktop() {\n        let specificationOption = '\u003cdiv class=\"description-column\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + specificationData[0].title + '\u003c\/h3\u003e'\n            + addPicture(specificationData[0])\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column-specifications\"\u003e'\n            + '\u003cdiv class=\"description-specifications\"\u003e'\n            + '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n            + '\u003cdiv class=\"description-specifications-border\"\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationData[0].specifications, true)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationList, false)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\" id=\"description-specification-content\"\u003e\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column\"\u003e'\n            + previousButton(\"specification-previous\")\n            + nextButton(\"specification-next\")\n            + '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n            + addSpecificationsProduct(specificationData[1])\n            + addSpecificationsProduct(specificationData[2])\n            + '\u003c\/div\u003e'\n            + addDotButton(2, \"specification-\")\n            + '\u003c\/div\u003e';\n\n        return specificationOption;\n    }\n\n    function addSpecificationMobile() {\n        let specificationOption = '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n\n        specificationOption += '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n        specificationData.forEach(item =\u003e {\n            specificationOption += '\u003cdiv class=\"description-wrapper\"\u003e';\n            specificationOption += addPicture(item);\n            specificationOption += '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e';\n            specificationOption += addSpecificationListMobile(item.specifications);\n            if (item.link) {\n                specificationOption += '\u003ca class=\"description-specifications-a\" href=\"' + item.link + '\"\u003e \u003cdiv class=\"description-specifications-button\"\u003e' + \"Learn More\" + '\u003c\/div\u003e \u003c\/a\u003e';\n            }\n            specificationOption += '\u003c\/div\u003e'\n        });\n        specificationOption += addDotButton(3, \"specification-\");\n        specificationOption += '\u003c\/div\u003e'\n\n        return specificationOption;\n    }\n\n    function addSpecificationList(list, addIcon) {\n        let option = '';\n        list.forEach(item =\u003e {\n            option += '\u003cp\u003e' + item + '\u003c\/p\u003e';\n        });\n        if (addIcon) {\n            option += '\u003cp\u003e' + getSupportIcon() + '\u003c\/p\u003e';\n        }\n\n        return option;\n    }\n\n    function addSpecificationListMobile(list) {\n        let option = '';\n        list.forEach((item, index) =\u003e {\n            option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[index] + '\u003c\/div\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + item + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n        });\n\n        option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[specificationList.length - 1] + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + getSupportIcon() + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n        return option;\n    }\n\n    function getSupportIcon() {\n        let icon = '\u003csvg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\u003e \u003cpath d=\"M16,0C7.13333,0,0,7.13333,0,16C0,24.8667,7.13333,32,16,32C24.8667,32,32,24.8667,32,16C32,7.13333,24.8667,0,16,0ZM26,12L15.4,22.6C14.6667,23.3333,13.3333,23.3333,12.6,22.6L6,16Q5,15,6,14Q7,13,8,14L14,20L24,10Q25,9,26,10Q27,11,26,12Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e \u003c\/svg\u003e';\n        return icon;\n    }\n\n    function addSpecificationsProduct(item) {\n        let option = '\u003cdiv class=\"description-wrapper\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e'\n            + '\u003ca href=\"' + item.link + '\"\u003e' + addPicture(item) + ' \u003c\/a\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    function updateSpecificationsContent(index) {\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            return;\n        }\n        let option = addSpecificationList(specificationData[index + 1].specifications, true);\n        const specificationContent = document.getElementById('description-specification-content');\n        specificationContent.innerHTML = option;\n    }\n\n    function addFAQs() {\n        let list = descriptionData.item8;\n        const faqs = document.getElementById('description-faqs');\n        let faqsOption = '';\n        list.forEach((item, index) =\u003e {\n            const id = \"description-faqs-collapse-\" + (index + 1);\n            faqsOption += '\u003cdiv class=\"description-faqs-item\"\u003e';\n\n            faqsOption += '\u003cdiv class=\"description-faqs-header\" data-target=\"' + id + '\" aria-controls=\"' + id + '\"\u003e'\n                + '\u003cdiv class=\"description-faqs-title\"\u003e' + item.title + '\u003c\/div\u003e \u003cdiv class=\"description-faqs-arrow\"\u003e' + faqIcon() + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n\n            faqsOption += '\u003cdiv id=\"' + id + '\" class=\"description-faqs-collapse\"\u003e';\n            item.content.forEach(content =\u003e {\n                faqsOption += '\u003cdiv class=\"description-faqs-collapse-text\"\u003e' + content + '\u003c\/div\u003e';\n            });\n            faqsOption += '\u003c\/div\u003e';\n\n            faqsOption += '\u003c\/div\u003e';\n        });\n        faqs.innerHTML = faqsOption;\n\n        \/\/问答点击事件\n        document.querySelectorAll('.description-faqs-header').forEach(item =\u003e {\n            item.addEventListener('click', (event) =\u003e {\n                const targetId = item.getAttribute('data-target');\n                const controlsId = item.getAttribute('aria-controls');\n                if (targetId === controlsId) {\n                    item.classList.toggle('description-faqs-collapsed');\n                    const collapse = document.getElementById(targetId);\n                    if (collapse.style.display === 'block') {\n                        item.classList.remove('active');\n                        collapse.style.display = 'none';\n                    } else {\n                        item.classList.add('active');\n                        collapse.style.display = 'block';\n                    }\n                }\n            });\n        });\n    }\n\n    \/\/图片\n    function addPicture(item) {\n        let option;\n        if (item.img_mb) {\n            option = '\u003cpicture\u003e\u003csource media=\"(max-width: 767px)\" srcset=\"' + item.img_mb + '\"\u003e\u003cimg src=\"' + item.img + '\"\u003e\u003c\/picture\u003e';\n        } else {\n            option = '\u003cimg src=\"' + item.img + '\"\u003e';\n        }\n        return option;\n    }\n\n    function addItem2Content(item) {\n        let connectOption = '';\n        item.content.forEach(content =\u003e {\n            connectOption += '\u003cp\u003e' + content + '\u003c\/p\u003e';\n        });\n\n        let option = '\u003cdiv class=\"description-wrapper-item description-wrapper-text\"\u003e'\n            + '\u003cdiv\u003e'\n            + '\u003ch3\u003e' + item.title + '\u003c\/h3\u003e'\n            + connectOption\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    \/\/上一个按钮\n    function previousButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-left\" name=\"previous\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/下一个按钮\n    function nextButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-right\" name=\"next\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/圆点按钮\n    function addDotButton(count, id) {\n        let option = '\u003cdiv class=\"description-dot-container\"\u003e';\n        for (let i = 0; i \u003c count; i++) {\n            option += '\u003cbutton class=\"description-dot\" id=\"' + id + (i + 1) + '\"\u003e' + \" \" + '\u003c\/button\u003e';\n        }\n        option += '\u003c\/div\u003e';\n        return option;\n    }\n\n    function showSelectDot(list, selectIndex) {\n        removeSelectDot(list);\n        if (selectIndex \u003c list.length) {\n            list[selectIndex].classList.add('active');\n        }\n    }\n\n    function removeSelectDot(list) {\n        list.forEach(btn =\u003e btn.classList.remove('active'));\n    }\n\n    function faqIcon() {\n        let icon = '\u003csvg viewBox=\"0 0 24 24\"\u003e \u003cpath d=\"M23.7473,6.245925C23.5906,6.0872122,23.3685,6.000865772,23.1247,6.000865772C22.8461,6.000865772,22.5753,6.113077,22.3794,6.308586L11.9994,16.8194L1.61957,6.309961C1.42452,6.113077,1.15371,6,0.875967,6C0.630434,6,0.408393,6.0872416,0.249915,6.246851C-0.106638,6.609795,-0.0783419,7.23016,0.313478,7.62776L11.2341,18.6844C11.43,18.8825,11.6939,18.9973,11.9603,19L12.0596,19C12.3199,18.9912,12.5759,18.877200000000002,12.7675,18.6844L23.6872,7.62686C24.079,7.22834,24.1069,6.6075859999999995,23.7473,6.245925Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e\u003c\/svg\u003e';\n        return icon;\n    }\n\n    function getHeaderBtnOffsetLetf(list, selectIndex) {\n        if (selectIndex \u003c list.length) {\n            return list[selectIndex].offsetLeft;\n        }\n\n        return 0;\n    }\n\u003c\/script\u003e","brand":"Miofive","offers":[{"title":"Default Title","offer_id":49545870016816,"sku":"Mini S-UK","price":49.85,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/1_691f6c51-46e9-44ce-a9d4-fd1e198b8398.webp?v=1782108380"}],"url":"https:\/\/www.miofive.com\/de\/collections\/shop-the-feed-mini-s.oembed","provider":"Miofive","version":"1.0","type":"link"}