日韩内射美女人妻一区二区三区,日本在线视频WWW色影响,古代级a毛片免费观看,亚洲人成人无码.WWW石榴
網(wǎng)站首頁(yè)
關(guān)于華鑫
公司簡(jiǎn)介
榮譽(yù)資質(zhì)
廠(chǎng)房設備
員工活動(dòng)
產(chǎn)品中心
注塑拉鏈
尼龍拉鏈
金屬拉鏈
功能性拉鏈
行業(yè)制服拉鏈
碼帶拉頭
新聞資訊
聯(lián)系我們
客戶(hù)案例
熱線(xiàn)電話(huà)
0570-8888076
網(wǎng)站首頁(yè)
關(guān)于華鑫
公司簡(jiǎn)介
榮譽(yù)資質(zhì)
廠(chǎng)房設備
員工活動(dòng)
產(chǎn)品中心
注塑拉鏈
尼龍拉鏈
金屬拉鏈
功能性拉鏈
行業(yè)制服拉鏈
碼帶拉頭
新聞資訊
聯(lián)系我們
客戶(hù)案例
product details
產(chǎn)品詳情
注塑拉鏈
金屬拉鏈
尼龍拉鏈
功能性拉鏈
行業(yè)制服拉鏈
拉頭類(lèi)
浙江華鑫拉鏈有限公司,高品質(zhì)追求!
行業(yè)制服拉鏈
熱線(xiàn)電話(huà)
0570-8888076
聯(lián)系地址
浙江省衢州市衢江區天湖南路26號
我要咨詢(xún)
相關(guān)產(chǎn)品
關(guān)于巍華
產(chǎn)品中心
單組分制冷劑
R4系制冷劑
R5系制冷劑
新聞資訊
聯(lián)系我們
經(jīng)銷(xiāo)商
返回頂部
我要詢(xún)價(jià)
<footer class="k170149908709993"> <div id="seiewkack4u8" class="k170149908709994 x-flex"><img class="k1701499131772146" src="https://media.quhua.fun/uploads/811510847/ClywjA69JsCTqCNjuqcY/1b4565388587b19639254dbb8.png" /> </div> <div id="seiewkack4u8" class="k1701499087099102"> <div id="seiewkack4u8" class="k1701499087099103"> <div id="seiewkack4u8" class="k1701499087099104"></div> <div id="seiewkack4u8" class="k1701499087099105"> <div id="seiewkack4u8" class="k1701499087099106"> <span id="seiewkack4u8" class="k1701499087099107">網(wǎng)站首頁(yè)</span><span id="seiewkack4u8" class="k1701499087099108">關(guān)于華鑫</span><span class="k1701499087099109">產(chǎn)品中心</span><span id="seiewkack4u8" class="k1701499087099110">新聞資訊</span><span class="k1701499087099111">聯(lián)系我們</span><span id="seiewkack4u8" class="k170255728629846">客戶(hù)案例</span> </div> <div id="seiewkack4u8" class="k1701499087099112"> <div id="seiewkack4u8" class="k1701499087099113 hotline"> <div id="seiewkack4u8" class="k1701499087099114 x-flex"><svg class="k1701499087099116" width="64" height="64" version="1.1" viewBox="0 0 1024 1024"> <path class="k1701499087099117" d="M965.413352 715.566801a472.933872 472.933872 0 0 0-20.790749-28.848832c-7.212208-9.260119-14.691535-18.342159-22.393461-27.15708 13.266901-42.471893 20.033912-86.724577 19.989392-131.288901 0-240.0953-192.993348-435.403678-430.239381-435.403678-4.897178 0-9.794357 0.133559-14.691535 0.267119a739.919134 739.919134 0 0 0-15.626451-29.38307c-5.475936-9.749837-11.26351-19.366115-17.362723-28.759793 15.84905-1.558193 31.78714-2.35955 47.680709-2.35955 270.057128 0 489.717838 222.331899 489.717838 495.638972a499.022477 499.022477 0 0 1-36.283639 187.294813zM324.55078 325.884962s55.471675 282.923351 319.117952 430.23938c33.389853-91.621756 91.176558-147.449589 121.895222-147.449589h0.890396c17.273684 0.623277 83.91983 53.913482 130.576583 113.614539 7.123169 9.08204 13.712099 18.253119 19.633234 27.468719 6.588931 10.239555 12.331986 20.47911 16.917525 30.496065 11.842268 26.311204 15.359332 50.930655 4.362941 69.807052-81.6048 71.810443-123.453415 113.837138-178.791531 113.837137-4.095822 0-8.236164-0.267119-12.465545-0.712317-13.355941-1.469154-27.602278-5.208817-43.540368-11.397069a362.52476 362.52476 0 0 1-36.773357-17.095605c-46.745794-24.708491-106.713969-65.66671-190.544759-125.412286C283.147363 645.002913 242.856941 520.703622 180.751815 337.727229c-6.054693-24.307813-11.797748-45.899917-16.605887-65.444111a760.398244 760.398244 0 0 1-8.547802-38.287031 266.228425 266.228425 0 0 1-4.986218-39.934264C148.252359 128.306074 182.977805 84.899265 309.057889 6.544411 316.092018 2.31503 324.105582 0 332.208187 0c23.194818 0 46.033477 18.787357 66.957784 45.944437 6.321812 8.191644 12.465545 17.184644 18.431199 26.667362 5.564975 8.814921 10.907352 18.03052 16.116169 27.513239 23.506456 42.917091 42.471893 89.484805 53.824442 117.443242 28.225555 69.495413-162.987001 108.361202-162.987001 108.361201zM511.979153 963.720186c25.198209 0 49.86218-2.22599 73.902874-6.410852 12.465545 7.835485 25.109169 15.403852 37.886353 22.7051 12.688144 7.123169 25.643407 13.801139 38.865788 19.944872-48.660145 15.93809-99.501761 24.040694-150.655015 23.996174-270.012608 0-489.717838-222.331899-489.717838-495.683492A497.019086 497.019086 0 0 1 100.705209 259.550454c2.671188 13.266901 5.876614 27.2016 9.527237 41.982175l4.362941 17.451763 6.85605 26.845441a436.872832 436.872832 0 0 0-39.667145 182.442155c0 240.0953 192.993348 435.403678 430.194861 435.403678z" fill="#ffffff" /> </svg> <div id="seiewkack4u8" class="k1701499087099118"> <p class="k1701499087099119 t1">銷(xiāo)售熱線(xiàn)</p> <div id="seiewkack4u8" class="k17048047741970"> <p class="k1701499087099120 t2">0570-8888076</p> </div> </div> </div> </div> <div id="seiewkack4u8" class="k1701499087099121 hotline"> <div id="seiewkack4u8" class="k1701499087099122 x-flex"><svg class="k1701499087099124" width="64" height="64" version="1.1" viewBox="0 0 1024 1024"> <path class="k1701499087099125" d="M790.747429 739.035429c-19.968-3.657143-39.497143 8.192-43.52 26.624a31.597714 31.597714 0 0 0-0.073143 0.585142c-3.803429 18.139429 9.069714 35.620571 28.745143 39.058286a39.131429 39.131429 0 0 0 1.536 0.292572c108.105143 18.724571 172.544 49.444571 172.544 64.804571 0 3.364571-5.558857 8.484571-20.772572 18.724571-20.918857 11.995429-51.2 23.990857-90.989714 34.230858-85.357714 22.089143-201.069714 34.084571-324.315429 34.084571-123.318857 0-240.859429-11.995429-324.242285-34.084571-39.862857-10.24-70.217143-22.235429-91.062858-34.230858-17.042286-10.24-22.747429-15.36-22.747428-18.724571 0-13.604571 58.733714-42.715429 157.403428-61.44 20.845714-3.364571 34.084571-22.235429 28.452572-40.96-1.901714-18.724571-22.747429-30.72-43.593143-25.6C83.382857 768 0 808.96 0 870.4 0 965.924571 227.547429 1024 512 1024s512-58.075429 512-153.6c0-63.195429-89.088-105.764571-233.252571-131.364571zM224.914286 476.013714l256.512 368.786286a34.816 34.816 0 0 0 30.646857 17.115429 34.669714 34.669714 0 0 0 30.573714-17.115429l256.512-368.786286h-0.731428c36.352-49.737143 55.734857-108.251429 55.661714-168.228571C854.089143 137.874286 701.001143 0 512 0 323.072 0 169.910857 137.874286 169.910857 307.858286c0 62.025143 20.333714 119.734857 55.588572 168.228571h-0.585143zM512 167.497143c86.089143 0 155.940571 62.902857 155.940571 140.361143 0 77.531429-69.851429 140.361143-155.940571 140.361143s-155.940571-62.829714-155.940571-140.288 69.851429-140.434286 155.940571-140.434286z" fill="#999999" /> </svg> <div id="seiewkack4u8" class="k1701499087099126"> <p class="k1701499087099127 t1">地址</p> <p class="k1701499087099128 t2">浙江省衢州市衢江區天湖南路26號</p> </div> </div> </div> </div> </div> </div> <div id="seiewkack4u8" class="k1701499087099129"><img class="k1701499087099130 qrcode" src="https://media.quhua.fun/uploads/811510847/FnFrm4X8T5UpY0VYCusX/00262c303ee1d6578353ecd46.png" /> <p class="k1701499087099131">微信掃一掃,了解更多</p> </div> </div> <div id="seiewkack4u8" class="k1701499087099132"></div> <div id="seiewkack4u8" class="k1701499087099143 copyright"> <span id="seiewkack4u8" class="k1701499087099144">浙江華鑫拉鏈有限公司</span><span id="seiewkack4u8" class="k1701499087099145">版權所有 ?2023</span> </div> </footer> <script> { const themeMap = { "": { "af8a6e83-2b7d-4c30-86de-f28dbcf048b3": "rgba(237,112,65,1)", "6eaaac05-9ad9-4d0f-aef0-b0841f30f61f": "rgba(123,123,123,1)" } } const state = {}; var k1701499087099107 = document.querySelector('.k1701499087099107'); k1701499087099107.onclick = e => { window.location.href = '/'; } var k1701499087099108 = document.querySelector('.k1701499087099108'); k1701499087099108.onclick = e => { window.location.href = '/about'; } var k1701499087099109 = document.querySelector('.k1701499087099109'); k1701499087099109.onclick = e => { window.location.href = '/products'; } var k1701499087099110 = document.querySelector('.k1701499087099110'); k1701499087099110.onclick = e => { window.location.href = '/news'; } var k1701499087099111 = document.querySelector('.k1701499087099111'); k1701499087099111.onclick = e => { window.location.href = '/contact'; } var k170255728629846 = document.querySelector('.k170255728629846'); k170255728629846.onclick = e => { window.location.href = '/case'; } const localeMap = { "zh-CN": { "aEFYwGa9KFqa": "", "news_iopxaq0": "了解樹(shù)脂拉鏈", "news_iopxaq1": "了解樹(shù)脂拉鏈", "news_iopxaq2": "了解樹(shù)脂拉鏈", "news_iopxaq3": "了解樹(shù)脂拉鏈", "news_sknchk0": "樹(shù)脂拉鏈是拉鏈的一種,牙齒是用聚脂塑料米通過(guò)染料配色并通過(guò)注塑機器排出來(lái)的。", "news_sknchk1": "樹(shù)脂拉鏈是拉鏈的一種,牙齒是用聚脂塑料米通過(guò)染料配色并通過(guò)注塑機器排出來(lái)的。", "news_sknchk2": "樹(shù)脂拉鏈是拉鏈的一種,牙齒是用聚脂塑料米通過(guò)染料配色并通過(guò)注塑機器排出來(lái)的。", "news_sknchk3": "樹(shù)脂拉鏈是拉鏈的一種,牙齒是用聚脂塑料米通過(guò)染料配色并通過(guò)注塑機器排出來(lái)的。", "news_malsbb0": "2023-10-10", "news_malsbb1": "2023-10-10", "news_malsbb2": "2023-10-10", "news_malsbb3": "2023-10-10", "chanpin_ajkzzq0": "3#鍍白金開(kāi)尾拉鏈", "chanpin_ajkzzq1": "3#鍍白金開(kāi)尾拉鏈", "chanpin_ajkzzq2": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw0": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw1": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw2": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw3": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw4": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw5": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw6": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_thiibw7": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd0": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd1": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd2": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd3": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd4": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd5": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd6": "3#鍍白金開(kāi)尾拉鏈", "chanpinye_oqvfbd7": "3#鍍白金開(kāi)尾拉鏈", "anli_qvdqgl0": "際華集團股份有限公司", "anli_qvdqgl1": "江蘇陽(yáng)光集團有限公司", "anli_qvdqgl2": "海瀾之家", "anli_qvdqgl3": "波司登股份有限公司", "anli_qvdqgl4": "紅蜻蜓", "anli_qvdqgl5": "奧康", "anli_qvdqgl6": "江蘇紅豆", "anli_qvdqgl7": "廣東萬(wàn)里馬", "anli_qvdqgl8": "福建柒牌", "anli_qvdqgl9": "山東迪尚", "anli_qvdqgl10": "山東如意", "anli_qvdqgl11": "四川圣山白玉蘭服飾", "xinwen_tyrkjl0": "如何選購拉鏈?", "xinwen_tyrkjl1": "如何選購拉鏈?", "xinwen_tyrkjl2": "如何選購拉鏈?", "xinwen_yqrdux0": "拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。1、拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。", "xinwen_yqrdux1": "拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。1、拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。", "xinwen_yqrdux2": "拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。1、拉鏈應用對象 采購方在采購拉鏈時(shí)最好要告知拉鏈制造廠(chǎng)家,拉鏈是使用在哪一類(lèi)產(chǎn)品上,對產(chǎn)品有無(wú)特殊的后處理要求,如果普通的水洗還是酸性酵素洗等。", "xinwen_brdril0": "2023-12-24", "xinwen_brdril1": "2023-12-24", "xinwen_brdril2": "2023-12-24", "us_bqhexo0": "地址", "us_bqhexo1": "聯(lián)系人", "us_bqhexo2": "傳真/電話(huà)", "us_bqhexo3": "郵箱", "us_nlzhxk0": "浙江省衢州市衢江區天湖南路26號", "us_nlzhxk1": "莫莫莫:0570-8888076", "us_nlzhxk2": "0570-8888107 / 0570-8888077", "us_nlzhxk3": "huaxinlalian@163.com" } }; const localeState = {}; window.localeHandle = new Proxy(localeState, { set: function (target, ki, newValue) { target[key] = newValue; { const elm = document.querySelector('.k1701499087099119'); if (elm) { const textNode = elm.childNodes[0]; if (textNode) { textNode.textContent = localeMap[newValue]['s20gZltAyQKq']; } } } { const elm = document.querySelector('.k1701499087099127'); if (elm) { const textNode = elm.childNodes[0]; if (textNode) { textNode.textContent = localeMap[newValue]['eLLQ4Sq8Mhpy']; } } } } }) let _locale = undefined; Object.defineProperty(state, 'locale', { get: function () { return _locale; }, set: function (newValue) { _locale = newValue; { const elm = document.querySelector('.k1701499087099129'); if (elm) { const klass = 'k1701499087099129_ts77963ef0-9ef3-4059-9eed-35d1d0f7780a'; if (state['locale'] == 'en') { elm.classList.add(klass); } else { elm.classList.remove(klass); } } } } }) state['grjxqf'] = false; state.locale = 'zh-CN'; } </script> <script src="https://cdn.bootcdn.net/ajax/libs/viewerjs/1.11.5/viewer.min.js"></script> <script> const themeMap = { "": { "af8a6e83-2b7d-4c30-86de-f28dbcf048b3": "rgba(237,112,65,1)", "6eaaac05-9ad9-4d0f-aef0-b0841f30f61f": "rgba(123,123,123,1)" } } window.state = {} { const SSR_MESSAGE = "Sa was not initialised! Probably it is used in SSR."; const NOT_SUPPORTED_MESSAGE = "Your browser does not support IntersectionObserver!"; /** * Default options */ let options = { root: null, rootMargin: "0% 40%", threshold: 0.1, animateClassName: "sa-animate", disabledClassName: "sa-disabled", enterEventName: "sa:in", exitEventName: "sa:out", selector: "[data-sa]", once: true, disabled: false, callback: null, }; /** * Private */ let elements = []; let intersectionObserver = null; /** * Sets options. * @param {Object} settings */ const setOptions = (settings) => { if (settings && settings !== options) { options = { ...options, ...settings, }; } }; /** * Clears animation for given element. * @param {HTMLElement} element */ const clearAnimation = (element) => { if (element.dataset.saClass) { element.classList.remove(element.dataset.saClass); } else { element.classList.remove(options.animateClassName); } }; /** * Dispatches the animate event on the intersection observer entry. * @param {IntersectionObserverEntry} detail The entry to fire event on. */ const fireEvent = (name, entry) => { const event = new CustomEvent(name, { bubbles: true, detail: entry, }); entry.target.dispatchEvent(event); }; /** * Launches animation by adding class. * @param {IntersectionObserverEntry} entry */ const animate = (entry) => { entry.target.style.visibility = "visible"; entry.target.classList.add(options.animateClassName); fireEvent(options.enterEventName, entry); }; /** * Launches animation by adding class. * @param {IntersectionObserverEntry} entry */ const animate2 = (entry) => { entry.target.style.visibility = "visible"; entry.target.classList.add(entry.target.dataset.saClass); fireEvent(options.enterEventName, entry); }; /** * Reverses animation by removing class. * @param {IntersectionObserverEntry} entry */ const reverse = (entry) => { clearAnimation(entry.target); fireEvent(options.exitEventName, entry); }; /** * Checks if element was animated. * @param {HTMLElement} element */ const isAnimated = (element) => element.classList.contains(options.animateClassName); /** * Enables animations by remove class from body. */ const enableAnimations = () => { document.body.classList.remove(options.disabledClassName); }; /** * Disables animations by add class from body. */ const disableAnimations = () => { document.body.classList.add(options.disabledClassName); }; /** * Clears observer. */ const clearObserver = () => { intersectionObserver.disconnect(); intersectionObserver = null; }; /** * Check if should be disabled. * @return {Boolean} */ const isDisabled = () => options.disabled || (typeof options.disabled === "function" && options.disabled()); /** * IntersectionObserver callback. * @param {Array<IntersectionObserverEntry>} entries * @param {IntersectionObserver} observer */ const onIntersection = (entries, observer) => { entries.forEach((entry) => { const { target } = entry; const hasRepeatFlag = target.dataset.saRepeat !== undefined; const hasOnceFlag = target.dataset.saOnce !== undefined; const shouldRepeat = hasRepeatFlag || !(hasOnceFlag || options.once); if (entry.intersectionRatio >= options.threshold) { options.callback && options.callback(); if (target.dataset.saClass) { animate2(entry); } else { animate(entry); } if (!shouldRepeat) { observer.unobserve(target); } } else if (shouldRepeat) { reverse(entry); } }); }; /** * Returns collection of elements and pushes them to observer. * * @returns {Array<Node>} */ const getObservedElements = () => { const collection = [].filter.call( document.querySelectorAll(options.selector), (element) => !isAnimated(element, options.animateClassName) ); collection.forEach((element) => { element.style.visibility = "hidden"; intersectionObserver.observe(element); }); return collection; }; /** * Disables instance by removing animations and clearing observer. */ const disable = () => { disableAnimations(); clearObserver(); }; /** * Enables instance by launching new IntersectionObserver. */ const enable = () => { enableAnimations(); intersectionObserver = new IntersectionObserver(onIntersection, { root: options.root, rootMargin: options.rootMargin, threshold: options.threshold, }); elements = getObservedElements(); }; /** * Resets instance to provide new settings. * @param {Object} settings */ const reset = (settings = {}) => { clearObserver(); Array.from(document.querySelectorAll(options.selector)).forEach( clearAnimation ); setOptions(settings); enable(); }; /** * 自定義 * @param {Object} settings */ const salObserve = (settings = {}) => { // clearObserver(); // Array.from(document.querySelectorAll(options.selector)).forEach( // clearAnimation // ); const intersectionObserver = new IntersectionObserver( (entries, observer) => { entries.forEach((entry) => { const { target } = entry; const hasRepeatFlag = target.dataset.saRepeat !== undefined; const hasOnceFlag = target.dataset.saOnce !== undefined; const shouldRepeat = hasRepeatFlag || !(hasOnceFlag || options.once); if (entry.intersectionRatio >= options.threshold) { settings.callback && settings.callback(); if (target.dataset.saClass) { animate2(entry); } else { animate(entry); } if (!shouldRepeat) { observer.unobserve(target); } } else if (shouldRepeat) { reverse(entry); } }); }, { root: options.root, rootMargin: options.rootMargin, threshold: options.threshold, } ); intersectionObserver.observe(document.querySelector(settings.selector)); }; /** * Updates observer with new elements to animated. * Useful for dynamically injected elements. */ const update = () => { const newElements = getObservedElements(); elements.push(newElements); }; /** * Init * @param {Object} settings * @return {Object} public API */ const init = (settings = options) => { setOptions(settings); // Early return, when window object is not defined // e.g. during Server Side Rendering if (typeof window === "undefined") { // eslint-disable-next-line no-console console.warn(SSR_MESSAGE); return { elements, disable, enable, reset, update, }; } if (!window.IntersectionObserver) { disableAnimations(); throw Error(NOT_SUPPORTED_MESSAGE); } if (!isDisabled()) { enable(); } else { disableAnimations(); } return { elements, disable, enable, reset, update, }; }; window.initSa = init; window.salObserve = salObserve; } class UniSlides { constructor(options) { this.gap = options.gap || 0; this.slidesPerView = options.slidesPerView || 1; this.fixedWidth = options.fixedWidth; this.loop = options.loop || true; this.duration = options.duration || 300; this.delay = options.delay || 3000; this.activeIndex = options.activeIndex || 0; this.edgePadding = options.edgePadding || 0; this.autoPlay = options.autoPlay === undefined ? true : options.autoPlay; this.breakPoints = options.breakPoints; this.startX = 0; this.tx = 0; this.canDrag = false; this.idx = 0; // 當前顯示idx this.offsetX = 0; this.startTime = 0; this.lastXFormTime = 0; this.maxTime = 200; this.minDistance = 14; // pc 50 this.resetTimeout = null; this.autoPlayTimeout = null; this.animating = false; this.actualItems = 0; this.slides = document.querySelector(options.selector); this.container = document.querySelector(".uni-slides-content"); this.moveWidths = []; this.count = this.container.children.length; this.containerWidth = this.slides.clientWidth; this.actualItems = this.container.children.length; this.movePerSwiper = 0; this.setup(); this.initEvents(); } setup() { this.slidesPerView = Math.min(this.slidesPerView, this.count); if (this.fixedWidth) { this.movePerSwiper = this.fixedWidth + this.gap; } else { let _width = (this.slides.clientWidth - (this.slidesPerView - 1) * this.gap) / this.slidesPerView; this.movePerSwiper = _width + this.gap; } this.cloneElements(); this.rearrange(); this.moveWidths.length = 0; for (let i = 0; i < this.count; i++) { if (this.fixedWidth) { this.moveWidths[i] = this.movePerSwiper; } else { this.moveWidths[i] = this.movePerSwiper; } } } initEvents() { this.slides.addEventListener("mousedown", e => this.handleMouseDown(e)); this.slides.addEventListener("mousemove", e => this.handleMouseMove(e)); this.slides.addEventListener("mouseup", e => this.handleCancel(e)); this.slides.addEventListener("mouseleave", e => this.handleCancel(e)); this.slides.addEventListener("touchstart", e => this.handleTouchStart(e)); this.slides.addEventListener("touchmove", e => this.handleTouchMove(e)); this.slides.addEventListener("touchend", e => this.handleTouchEnd(e)); if (this.autoPlay) { clearTimeout(this.autoPlayTimeout); this.autoPlayTimeout = setTimeout(() => { this.jumpToIdx(this.idx + 1, false); }, this.delay); } if (this.breakPoints) { window.addEventListener("resize", e => this.resize()); this.resize(); } this.container.addEventListener('transitionend', e => { this.reset(); }); } resize() { let per = 1; for (let index = 0; index < this.breakPoints.length; index++) { const bp = this.breakPoints[index]; const result = window.matchMedia(`(min-width: ${bp.resolution}px)`); if (result.matches) { per = bp.slidesPerView; } } if (per !== this.slidesPerView) { console.log('need reset per'); // 需要重置 this.slidesPerView = per; this.setup(); } } cloneElements() { if (!this.loop) return; this.count = this.actualItems; this.idx = this.slidesPerView + this.activeIndex; for (let index = 0; index < this.container.children.length; index++) { const element = this.container.children[index]; if (element.classList.contains('quhua-cloned')) { element.remove(); } } // console.log(this.container.children.length, this.slidesPerView); let extra = this.slidesPerView; // 固定尺寸需要多補充 if (this.fixedWidth) { extra = Math.ceil(this.slides.clientWidth / this.fixedWidth); } for (let index = 0; index < extra; index++) { const nodeFirst = this.container.children[this.container.children.length - 1 - index].cloneNode(true); nodeFirst.classList.add('quhua-cloned'); this.container.insertBefore(nodeFirst, this.container.children[0]); this.count++; } for (let index = 0; index < extra; index++) { const nodeLast = this.container.children[index + extra].cloneNode(true); this.container.insertBefore(nodeLast, this.container.children[this.container.children.length - 1].nextSibling); nodeLast.classList.add('quhua-cloned'); this.count++; } } rearrange() { if (this.loop) { this.tx = (this.slidesPerView + this.activeIndex) * -this.movePerSwiper; this.container.style.transform = `translate3d(${this.tx + this.edgePadding}px, 0, 0)`; } // let _width = this.slides.clientWidth / this.slidesPerView; let _width = (this.slides.clientWidth - (this.slidesPerView - 1) * this.gap) / this.slidesPerView; console.log(this.slides.clientWidth, this.slidesPerView); if (this.fixedWidth) { _width = this.fixedWidth; } for (let i = 0; i < this.count; i++) { this.container.children[i].style.width = `${_width}px`; if (this.gap) { this.container.children[i].style.marginRight = `${this.gap}px`; } } } reset() { this.offsetX = 0; this.container.style.transition = `unset`; this.container.classList.remove("uni-slides-snap-back"); this.container.classList.remove("uni-slides-next"); let needReset = false; console.log('idx', this.idx); if (this.idx < this.slidesPerView) { needReset = true; this.idx += this.actualItems; } else if (this.idx >= this.slidesPerView + this.actualItems) { needReset = true; this.idx -= this.actualItems; } if (needReset) { console.log('idx2', this.idx); this.tx = this.idx * -this.movePerSwiper; setTimeout(() => { this.container.style.transform = `translate3d(${this.tx + this.edgePadding}px, 0, 0)`; }, 0); } this.animating = false; } handleTouchStart(e) { e.preventDefault(); const touches = e.changedTouches; this.startX = touches[0].pageX; this.canDrag = true; this.startTime = Date.now(); this.lastXFormTime = this.startX; clearTimeout(this.autoPlayTimeout); } handleTouchMove(e) { e.preventDefault(); if (!this.canDrag) return; const touches = e.changedTouches; const now = Date.now(); this.offsetX = touches[0].pageX - this.startX; if (now - this.startTime > this.maxTime) { this.startTime = now; this.lastXFormTime = touches[0].pageX; } const translateX = this.clamp(-this.movePerSwiper * this.count, this.movePerSwiper * this.count, this.tx + this.offsetX); // console.log(translateX) this.container.style.transform = `translate3d(${translateX + this.edgePadding}px, 0, 0)`; } handleTouchEnd(e) { e.preventDefault(); if (this.canDrag) { const touches = e.changedTouches; const pageX = touches[0].pageX; // console.log(Date.now() - this.startTime, pageX - this.lastXFormTime); const _offsetX = pageX - this.lastXFormTime; const absOffsetX = Math.abs(_offsetX); if (Date.now() - this.startTime <= this.maxTime && absOffsetX >= 120 || Date.now() - this.startTime <= 100 && absOffsetX >= this.minDistance) { console.log("that is a swipe"); if (Math.sign(_offsetX) > 0) { // console.log("swipe right"); this.jumpToIdx(this.idx - 1); } else if (Math.sign(_offsetX) < 0) { // console.log("swipe left"); this.jumpToIdx(this.idx + 1); } } else { this.getNextIdx(); } } this.canDrag = false; } handleMouseDown(e) { if (this.animating) return; this.startX = e.clientX; this.canDrag = true; this.startTime = Date.now(); this.lastXFormTime = e.clientX; clearTimeout(this.autoPlayTimeout); } handleMouseMove(e) { if (!this.canDrag) return; const now = Date.now(); this.offsetX = e.clientX - this.startX; if (this.idx >= this.actualItems + 1) { if (this.offsetX < 0) { console.log('需要補充了'); // 取補充的1 this.idx -= this.actualItems; this.tx = this.idx * -this.movePerSwiper; // tx = (idx - this.actualItems) * -this.movePerSwiper; console.log('tx', this.tx); this.container.style.transform = `translate3d(${this.tx + this.edgePadding}px, 0, 0)`; } } if (now - this.startTime > this.maxTime) { this.startTime = now; this.lastXFormTime = e.clientX; } const translateX = this.clamp(-this.movePerSwiper * this.count, this.movePerSwiper * this.count, this.tx + this.offsetX); this.container.style.transform = `translate3d(${translateX + this.edgePadding}px, 0, 0)`; } handleCancel(e) { if (this.canDrag) { // console.log(Date.now() - startTime, e.clientX - lastXFormTime); const _offsetX = e.clientX - this.lastXFormTime; const absOffsetX = Math.abs(_offsetX); if (Date.now() - this.startTime <= this.maxTime && absOffsetX >= 120 || Date.now() - this.startTime <= 100 && absOffsetX >= 50) { console.log("that is a swipe", _offsetX, this.idx); // && idx > 0 刪除,不需要校驗是否是邊界了,無(wú)限循環(huán) if (Math.sign(_offsetX) > 0) { // console.log("swipe right"); this.jumpToIdx(this.idx - 1); } else if (Math.sign(_offsetX) < 0) { // console.log("swipe left"); this.jumpToIdx(this.idx + 1); } } else { this.getNextIdx(); } } this.canDrag = false; } jumpToIdx(i) { let snap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; let span = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; if (this.animating) return; clearTimeout(this.resetTimeout); // console.log(i) if (!this.loop && (i > this.actualItems - 1 || i < 0)) { return; } this.animating = true; // 根據寬度和this.gap計算 const sign = i > this.idx ? -1 : 1; if (i === this.idx) { // 恢復原狀 this.tx = i * -this.movePerSwiper; } else { this.tx += sign * this.moveWidths[this.idx] * span; this.idx = i; } this.container.classList.add(snap ? "uni-slides-snap-back" : "uni-slides-next"); this.container.style.transition = `transform ${this.duration}ms`; this.container.style.transform = `translate3d(${this.tx + this.edgePadding}px, 0, 0)`; if (this.autoPlay) { clearTimeout(this.autoPlayTimeout); this.autoPlayTimeout = setTimeout(() => { this.jumpToIdx(this.idx + 1, false); }, this.delay); } } getNextIdx() { const _offsetX = Math.abs(this.offsetX); if (_offsetX === 0) return; // 都沒(méi)動(dòng) if (_offsetX >= this.movePerSwiper / 2) { const span = Math.ceil(Math.abs(_offsetX) / this.movePerSwiper); // console.log('span', Math.abs(_offsetX), this.movePerSwiper, span); if (Math.sign(this.offsetX) == 1) { // swipe right this.jumpToIdx(this.idx - span, true, span); } else { // swipe left this.jumpToIdx(this.idx + span, true, span); } } else { this.jumpToIdx(this.idx); } this.offsetX = 0; } clamp(min, max, val) { return Math.max(Math.min(max, val), min); } } class UniImagePreviewer { constructor(options) { this.target = document.querySelector(options.target); // this.onChange = options.onChange; // this.indicator = this.container.querySelector('.uni-tabs-indicator'); // this.indicatorWidth = this.indicator.getBoundingClientRect().width; this.activeIndex = options.activeIndex || 0; this.urls = options.urls; this.setup(); this.tx = 0; // container tx this.canDrag = false; this.idx = 0; this.lastIdx = 0; // 上一個(gè)圖片 this.startX = 0; this.incX = 0; this.startTime = 0; this.startClickTime = 0; this.lastXFormTime = 0; this.maxTime = 200; this.minDistance = 14; this.resetTimeout = null; this.duration = 300; this.wrapper = document.querySelector(".uni-image-previewer-wrapper"); this.container = document.querySelector(".uni-image-previewer-container"); this.containerWidth = this.wrapper.getBoundingClientRect().width; this.count = this.urls.length; this.log("containerWidth" + this.containerWidth); this.wrapper.addEventListener("touchstart", e => this.handleTouchStart(e), { passive: false }); this.wrapper.addEventListener("touchmove", e => this.handleMove(e), { passive: false }); this.wrapper.addEventListener("touchcancel", e => this.handleCancel(e), { passive: false }); this.wrapper.addEventListener("touchend", e => this.handleEnd(e), { passive: false }); this.images = []; this.curImage = null; this.width = 0; this.height = 0; this.initialTx = 0; this.initialTy = 0; this._tx = 0; this._ty = 0; this.touchMap = {}; this.startScale = 1; this.lastScale = 1; this.startLen = 0; this.singleTouchId = -1; this.MIN_SCALE = 0.2; this.MAX_SCALE = 10; this.pivotX = 0; this.pivotY = 0; this.dx = 0; this.dy = 0; this.getCurImage(); // console.log(this.container) // this.container.onclick = () => { // console.log('clioced') // } } setup() { const div = document.createElement("div"); div.className = "uni-image-previewer-wrapper"; // <div id="seiewkack4u8" class="touches"></div> div.innerHTML = ` <div id="seiewkack4u8" class="uni-image-previewer-container"> ${this.urls.map(url => { return ` <div id="seiewkack4u8" class="uni-image-previewer-holder"> <img src="${url}" /> </div> `; })} </div> `; document.body.appendChild(div); // for (let i = 0; i < this.container.children.length - 1; i++) { // const tab = this.container.children[i]; // tab.onclick = () => { // this.activeIndex = i; // this.onChange(this.activeIndex); // this.resetItems(); // this.resetIndicator(); // }; // } } getCurImage(idx) { this.log("getCurImage" + idx); if (this.images[idx]) { this.curImage = this.images[idx].el; this.width = this.images[idx].width; this.height = this.images[idx].height; this._tx = this.images[idx]._tx; this._ty = this.images[idx]._ty; this.initialTx = this.images[idx].initialTx; this.initialTy = this.images[idx].initialTy; return; } this.curImage = this.container.querySelectorAll(".uni-image-previewer-holder")[this.idx].querySelector("img"); this.width = this.curImage.width; this.height = this.curImage.height; this.initialTx = 0; this.initialTy = 0; this._tx = 0; this._ty = 0; if (this.width == window.innerWidth) { this.initialTy = (window.innerHeight - this.height) / 2; this._ty = this.initialTy; } else { this.initialTx = (window.innerWidth - this.width) / 2; this._tx = this.initialTx; } this.curImage.style.transform = `translate(${this._tx}px, ${this._ty}px) scale(1)`; // this.log(curImage.style.transform) this.log(this.width + ", " + this._ty); this.images[idx] = { el: this.curImage, width: this.width, height: this.height, initialTx: this.initialTx, initialTy: this.initialTy, _tx: this.initialTx, _ty: this.initialTy }; } log(text) { // const elTouches = document.querySelector(".touches"); // if (!elTouches) return; // elTouches.textContent = text; } handleTouchStart(e) { this.log("handleTouchStart"); e.preventDefault(); // const touches = e.changedTouches; const touches = e.touches; // this.log(e, str) // elTouches.textContent = touches.length; if (touches.length > 2) return; if (touches.length === 1) { const { clientX, clientY, identifier } = touches[0]; this.singleTouchId = identifier; this.lastX = clientX; this.lastY = clientY; this.canDrag = true; // for drag this.lastXFormTime = clientX; this.startTime = Date.now(); this.startClickTime = Date.now(); this.incX = 0; } else if (touches.length === 2) { this.startScale = this.lastScale; this.touchMap[touches[0].identifier] = { x: touches[0].clientX, y: touches[0].clientY }; this.touchMap[touches[1].identifier] = { x: touches[1].clientX, y: touches[1].clientY }; this.startLen = Math.sqrt(Math.pow(touches[1].clientX - touches[0].clientX, 2) + Math.pow(touches[1].clientY - touches[0].clientY, 2)); this.pivotX = (touches[0].clientX + touches[1].clientX) / 2; this.pivotY = (touches[0].clientY + touches[1].clientY) / 2; const bbox = this.curImage.getBoundingClientRect(); this.dx = this.pivotX - bbox.left; this.dy = this.pivotY - bbox.top; } } handleMove(e) { // this.log('canvas move', e) // elTouches.textContent = 'moveing'; e.preventDefault(); e.stopPropagation(); const touches = e.touches; // this.log("handleMove" + touches.length); if (touches.length > 2) return; if (touches.length === 1 && this.canDrag) { const { clientX, clientY, identifier } = touches[0]; if (identifier !== this.singleTouchId) return; const offsetX = clientX - this.lastX; const offsetY = clientY - this.lastY; this.lastX = clientX; this.lastY = clientY; // 檢測是否還未滾出邊界 const actualWidth = this.width * this.lastScale; const actualHeight = this.height * this.lastScale; if (actualWidth > window.innerWidth) { this._tx = this.clamp(window.innerWidth - actualWidth, 0, offsetX + this._tx); } if (actualHeight > window.innerHeight) { this._ty = this.clamp(window.innerHeight - actualHeight, 0, offsetY + this._ty); } this.curImage.style.transform = `translate(${this._tx}px, ${this._ty}px) scale(${this.lastScale})`; this.log("this._tx" + this._tx); if (this._tx === window.innerWidth - actualWidth || this._tx === 0) { const now = Date.now(); if (now - this.startTime > this.maxTime) { this.startTime = now; this.lastXFormTime = touches[0].clientX; } this.incX += offsetX; const translateX = this.clamp(-this.containerWidth * (this.count - 1), 0, this.tx + this.incX); // this.log("next" + translateX); // this.log(translateX) this.container.style.transform = `translate3d(${translateX}px, 0, 0)`; } } else if (touches.length === 2) { this.log('tow fingers'); const flag = Object.values(touches).every(t => this.touchMap.hasOwnProperty(t.identifier)); // if (!flag) alert('touch changed'); if (!flag) return; const offsetX = touches[1].clientX - touches[0].clientX; const offsetY = touches[1].clientY - touches[0].clientY; const len = Math.sqrt(Math.pow(offsetX, 2) + Math.pow(offsetY, 2)); // const factor = len > startLen ? 1.05 : 0.95; const factor = 1; const targetScale = this.clamp(this.MIN_SCALE, this.MAX_SCALE, len / this.startLen * factor * this.startScale); this.log(targetScale); const diffX = this.pivotX - this._tx; const diffY = this.pivotY - this._ty; /** * 重新計算縮放偏移量 */ this._tx -= (targetScale * this.width - this.lastScale * this.width) * (diffX / this.lastScale / this.width); this._ty -= (targetScale * this.height - this.lastScale * this.height) * (diffY / this.lastScale / this.height); this.curImage.style.transform = `translate(${this._tx}px, ${this._ty}px) scale(${targetScale})`; this.lastScale = targetScale; } } handleCancel(e) { this.log("handleCancel"); this.canDrag = false; this.touchMap = {}; } handleEnd(e) { this.log("handleEnd" + e.targetTouches.length); this.canDrag = false; this.touchMap = {}; if (this.lastScale < 1) { this.curImage.classList.add("snap-back"); this._tx = 0; this._ty = this.initialTy; this.curImage.style.transform = `translate(${this._tx}px, ${this._ty}px) scale(1)`; this.lastScale = 1; this.curImage.addEventListener("transitionend", e => { this.curImage.classList.remove("snap-back"); }); } const touches = e.changedTouches; const clientX = touches[0].clientX; this.log(Date.now() - this.startTime, clientX - this.lastXFormTime); const _offsetX = clientX - this.lastXFormTime; const absOffsetX = Math.abs(_offsetX); if (touches.length === 1) { // console.log(Date.now() - this.startClickTime, absOffsetX) if (Date.now() - this.startClickTime < 200 && absOffsetX < 10) { this.destroy(); return; } } if (Date.now() - this.startTime <= this.maxTime && absOffsetX >= 120 || Date.now() - this.startTime <= 100 && absOffsetX >= this.minDistance) { this.log("that is a swipe"); if (Math.sign(_offsetX) > 0 && this.idx > 0) { this.log("swipe right"); this.jumpToIdx(this.idx - 1); } else if (Math.sign(_offsetX) < 0 && this.idx < this.count - 1) { this.log("swipe left"); this.jumpToIdx(this.idx + 1); } else { this.log("reset"); this.jumpToIdx(this.idx); } } else { this.log("reset"); this.getNextIdx(); } } getNextIdx() { const _offsetX = Math.abs(this.incX); if (_offsetX === 0) return; // 都沒(méi)動(dòng) if (_offsetX >= this.containerWidth * 0.4) { if (Math.sign(this.incX) == 1 && this.idx > 0) { // swipe right this.log("next right"); this.jumpToIdx(this.idx - 1); } else if (this.idx < this.count - 1) { // swipe left this.log("next left"); this.jumpToIdx(this.idx + 1); } else { this.jumpToIdx(this.idx); } } else { this.jumpToIdx(this.idx); } this.incX = 0; } jumpToIdx(i) { let snap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; this.lastIdx = this.idx; this.tx = i * -this.containerWidth; this.idx = i; this.container.classList.add(snap ? "snap-back" : "next"); this.container.style.transform = `translate3d(${this.tx}px, 0, 0)`; if (this.lastIdx !== this.idx) { this.getCurImage(this.idx); } } reset(idx) { this.images[idx].el.style.transform = `translate(${this.images[idx].initialTx}px, ${this.images[idx].initialTy}px) scale(1)`; } destroy() { this.wrapper.removeEventListener("touchstart", e => this.handleTouchStart(e), { passive: false }); this.wrapper.removeEventListener("touchmove", e => this.handleMove(e), { passive: false }); this.wrapper.removeEventListener("touchcancel", e => this.handleCancel(e), { passive: false }); this.wrapper.removeEventListener("touchend", e => this.handleEnd(e), { passive: false }); this.wrapper.remove(); } clamp(min, max, val) { return Math.max(Math.min(max, val), min); } } initSa(); var kbody = document.querySelector('.kbody'); window.onscroll = e => { state.hmupce = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; } var k1702481775351205 = document.querySelector('.k1702481775351205'); k1702481775351205.onclick = e => { window.open(''); } var k1702481775351210 = document.querySelector('.k1702481775351210'); k1702481775351210.onclick = e => { window.open(''); } var k1702481775351215 = document.querySelector('.k1702481775351215'); k1702481775351215.onclick = e => { window.open(''); } var k1702481775351220 = document.querySelector('.k1702481775351220'); k1702481775351220.onclick = e => { window.open(''); } var k1702481775351225 = document.querySelector('.k1702481775351225'); k1702481775351225.onclick = e => { window.open(''); } var k1702481775351230 = document.querySelector('.k1702481775351230'); k1702481775351230.onclick = e => { window.open(''); } var k1697013599844179 = document.querySelector('.k1697013599844179'); var k1697013599885181 = document.querySelector('.k1697013599885181'); k1697013599885181.onclick = e => { const viewer = new Viewer(document.querySelector('.k1697013599885181'), { inline: false, viewed() { viewer.zoomTo(1); }, }); } let slides169741911724035 = null; { const slides = new UniSlides({ "selector": ".k169741911724035", "onChange": "function(idx) {\n state.null = idx;\n }", "prevButton": "", "nextButton": "" }); slides169741911724035 = slides; } var k169717885605110 = document.querySelector('.k169717885605110'); k169717885605110.onclick = e => { state['wajgcy'] = true; } var k1697013600969240 = document.querySelector('.k1697013600969240'); k1697013600969240.onclick = e => { state['oesixv'] = 1; } var k1702482373957246 = document.querySelector('.k1702482373957246'); var k1702482373957245 = document.querySelector('.k1702482373957245'); new IntersectionObserver((entries) => { entries.forEach((item) => { if (item.isIntersecting) { { const target = document.querySelector('.k1702482373957245'); target.style.animation = "unset"; setTimeout(() => { target.style.animation = 'fadeInUp 2s undefined 0s forwards 1'; }, 0); } } }); }, { rootMargin: `0px 0px ${100 - window.innerHeight}px 0px`, }).observe(k1702482373957245); var k1697013604334464 = document.querySelector('.k1697013604334464'); var k1697013604525476 = document.querySelector('.k1697013604525476'); var k1697013604568478 = document.querySelector('.k1697013604568478'); var k1697013604605480 = document.querySelector('.k1697013604605480'); var k1697013604682484 = document.querySelector('.k1697013604682484'); var k1697013604782489 = document.querySelector('.k1697013604782489'); var k1697013604878494 = document.querySelector('.k1697013604878494'); { const dialogMask = document.querySelector('.k169742037265442 .uni-dialog-mask'); dialogMask.onclick = () => { state.wajgcy = false; } } var k169742136304087 = document.querySelector('.k169742136304087'); k169742136304087.onclick = e => { state['wajgcy'] = false; } var k169742110636985 = document.querySelector('.k169742110636985'); var k169742110636986 = document.querySelector('.k169742110636986'); let _locale = undefined; Object.defineProperty(state, 'locale', { get: function () { return _locale; }, set: function (newValue) { _locale = newValue; { const elm = document.querySelector('.k16971574627296'); if (elm) { const klass = 'k16971574627296_ts1796bc8a-df8d-41e3-9e06-3d86d73cb88b'; if (state['locale'] == 'en') { elm.classList.add(klass); } else { elm.classList.remove(klass); } } } } }) let _wjtzfx = 0; Object.defineProperty(state, 'wjtzfx', { get: function () { return _wjtzfx; }, set: function (newValue) { _wjtzfx = newValue; { const elm = document.querySelector('.k169717885605110'); if (elm) { const klass = 'k169717885605110_ts3694677c-e70d-40ad-bcfe-478133510628'; if (state['wjtzfx'] == 1) { elm.classList.add(klass); } else { elm.classList.remove(klass); } } } } }) let _oesixv = 1; Object.defineProperty(state, 'oesixv', { get: function () { return _oesixv; }, set: function (newValue) { _oesixv = newValue; { const elm = document.querySelector('.k1697013600969240'); if (elm) { const klass = 'k1697013600969240_tsa347653d-8248-4eb7-a1a7-7f7fec92526d'; if (state['oesixv'] == 1) { elm.classList.add(klass); } else { elm.classList.remove(klass); } } } } }) let _thiibw = undefined; Object.defineProperty(state, 'thiibw', { get: function () { return _thiibw; }, set: function (newValue) { _thiibw = newValue; { const elm = document.querySelector('.k1702482373957251'); const textNode = elm.childNodes[0]; if (textNode) { textNode.textContent = newValue; } } } }) let _oqvfbd = undefined; Object.defineProperty(state, 'oqvfbd', { get: function () { return _oqvfbd; }, set: function (newValue) { _oqvfbd = newValue; { const elm = document.querySelector('.k1702482373957255'); const textNode = elm.childNodes[0]; if (textNode) { textNode.textContent = newValue; } } } }) let _wajgcy = false; Object.defineProperty(state, 'wajgcy', { get: function () { return _wajgcy; }, set: function (newValue) { _wajgcy = newValue; { const elm = document.querySelector('.k169742037265442'); if (elm) { const klass = 'show'; if (state['wajgcy'] == true) { elm.classList.add(klass); } else { elm.classList.remove(klass); } } } } }) state['pqxlih'] = 0; state['uztiuh'] = false; state['jwryep'] = 2; state['wjtzfx'] = 0; state['oesixv'] = 1; state['wajgcy'] = false; function getLocaleFromCookie() { if (!document.cookie) return; const arr = document.cookie.split(';'); for (let index = 0; index < arr.length; index++) { const kv = arr[index]; const [k, v] = kv.trim().split('='); if (k === 'locale') { return v; } } } state.locale = getLocaleFromCookie() || 'zh-CN'; </script> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.mlskin.cn/" title="日韩内射美女人妻一区二区三区,日本在线视频WWW色影响,古代级a毛片免费观看,亚洲人成人无码.WWW石榴">日韩内射美女人妻一区二区三区,日本在线视频WWW色影响,古代级a毛片免费观看,亚洲人成人无码.WWW石榴</a> <div class="friend-links"> <iframe src="https://sp1.baidu.com/-L-Wsjip0QIZ8tyhnq/v.gif?mod=superman%3Alib&submod=carditem_log&utype=&superver=supernewplus&portrait=&logPortrait=public.1.526c57a3.H9PkpiQd9is5jF1lEXKhtw&glogid=2156999518&type=2011&pid=315&isLogin=1&version=PCHome&terminal=PC&qid=0x92f0a2f40091335e&sid=60257_60270_60276_60287&super_frm=&from_login=&from_reg=&query=&curcard=2&curcardtab=&_r=0.7989320562516968&m=superman%3Alib_cardItemLog&logactid=page-card-tpl-item&logtype=click&clicktype=outlink&nodename=a&func=&title=%E7%BE%8E%E4%BA%BA%E8%BF%9F%E6%9A%AE%EF%BC%9A56%E5%B2%81%E8%8B%B1%E6%8B%89%E5%8F%91%E7%A6%8F%E4%BA%86%EF%BC%8C%E7%94%9F%E6%B4%BB%E5%A5%A2%E4%BE%88%E5%84%BF%E5%AD%90%E7%9C%81%E5%BF%83%EF%BC%8C%E5%A5%B9%E5%88%B0%E5%A4%84%E7%8E%A9%E7%AC%91%E5%AE%B9%E7%81%BF%E7%83%82&url=【m.mlskin.cn】&strategyHit=&xx=282&xy=526&extra=%7B%22rec_src%22%3A%5B4205%5D%2C%22type%22%3A0%2C%22score%22%3A16975.07421875%2C%22mark%22%3A0%2C%22recall_type%22%3A7%2C%22vertical_type%22%3A0%2C%22mthid%22%3A%221794572992744639%22%2C%22predictor_result%22%3A%22CAEZAADozMST0EA5AAAAAAAAAAA%3D%22%2C%22q_ratio%22%3A1%2C%22recall_attention%22%3A%5B%22%E5%9B%BD%E9%99%85%E7%A4%BE%E4%BC%9A%22%5D%2C%22img_num%22%3A27%2C%22sample_name%22%3A%22integration_news%22%2C%22predictor_extmsg%22%3A%22EhQZAAAA4HT7pj8gCTEAAADgdPumPyIdGQAAAADqYZE%5C%2FIEUxAAAAAOphkT9xAAAAAOphkT8%3D%22%2C%22dnn_score_cp%22%3A0.044887211173773%2C%22th%22%3A-1%2C%22gr_layout%22%3A%22image3%22%2C%22session_id%22%3A%220%22%2C%22refresh_index%22%3A%220%22%2C%22session_index%22%3A1330530082%2C%22position%22%3A1%2C%22log_id%22%3A2156999518%2C%22refresh_state%22%3A0%2C%22refresh_type%22%3A1%2C%22refresh_timestamp_ms%22%3A1716429876957%2C%22news_attention%22%3A%5B%22%E5%BC%97%E6%8B%89%E5%9F%BA%E7%B1%B3%E5%B0%94%C2%B7%E5%BC%97%E6%8B%89%E5%9F%BA%E7%B1%B3%E7%BD%97%E7%BB%B4%E5%A5%87%C2%B7%E6%99%AE%E4%BA%AC%22%2C%22%E7%BE%8E%E4%BA%BA%E8%BF%9F%E6%9A%AE%22%2C%22%E6%99%AE%E4%BA%AC%22%2C%22%E6%B3%B0%E5%9B%BD%E6%80%BB%E7%90%86%22%2C%22%E8%8B%B1%E6%8B%89%22%2C%22%E8%8B%B1%E6%8B%89%C2%B7%E8%A5%BF%E9%82%A3%E7%93%A6%22%5D%2C%22predictor_q_score%22%3A16975.075006485%2C%22is_microvideo%22%3Afalse%2C%22video_type%22%3A%22%22%2C%22channel_id%22%3A1%2C%22templates%22%3A%7B%22id%22%3A%5B33%5D%2C%22showtag%22%3A%5B%5D%7D%2C%22wifiinfo%22%3A%22%22%2C%22gr_step_click%22%3A-1%2C%22gr_step_related_click%22%3A0%2C%22attentionnum%22%3A8%2C%22video_attentionnum%22%3A0%2C%22gr_pred_score%22%3A0.013692489013598%2C%22gr_dnn_score%22%3A0.016975075006485%2C%22gr_calibration_q%22%3A0%2C%22gr_pred_dur%22%3A0%2C%22gr_news_sub_category_single%22%3A%22%E5%9B%BD%E9%99%85%E7%A4%BE%E4%BC%9A%22%2C%22ext_multi_score%22%3A0%2C%22predictor_result_array%22%3A%5B%7B%22rec_src%22%3A4205%2C%22predictorq%22%3A%22CAEZAADozMST0EA5AAAAAAAAAAA%3D%22%7D%5D%2C%22user_activity_v1%22%3A0.37468647406598%2C%22loc_city%22%3A%22%E9%BB%94%E4%B8%9C%E5%8D%97%E8%8B%97%E6%97%8F%E4%BE%97%E6%97%8F%E8%87%AA%E6%B2%BB%E5%B7%9E%22%2C%22pass_through%22%3A%22%7B%5C%22offset%5C%22%3A0%2C%5C%22news_num%5C%22%3A0%2C%5C%22count_svimmer_click%5C%22%3A0%7D%22%2C%22crudely_stat%22%3A%22%7Cct_%E5%9B%BD%E9%99%85%7Csc_%E5%9B%BD%E9%99%85%E7%A4%BE%E4%BC%9A%7Cnalvl_2%22%2C%22dispatch_timestamp%22%3A1716429847135%2C%22layout%22%3A%22image3%22%7D&rid=9064986506262096878&stype=0&picNum=27&pos=1&st=news" frameBorder="0" width="900" scrolling="no" height="1"></iframe> </div> </div> </footer> <a href="http://www.022sjj.com" target="_blank">ACCA少女网课视频2023</a>| <a href="http://www.pyshlb.com" target="_blank">无码精品内射合集秘书</a>| <a href="http://www.cbs766.com" target="_blank">美女裸体无遮挡免费视频网站</a>| <a href="http://www.syszhzyy.com" target="_blank">久久精品成人欧美大片</a>| <a href="http://www.szadaptor.com" target="_blank">亚洲无码在线播放</a>| <a href="http://www.reetao.com" target="_blank">国产日产欧产精品精品APP</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="d40co" class="pl_css_ganrao" style="display: none;"><nobr id="d40co"></nobr><bdo id="d40co"><tr id="d40co"></tr></bdo><tr id="d40co"><tt id="d40co"><form id="d40co"></form></tt></tr><ol id="d40co"><strong id="d40co"><ruby id="d40co"></ruby></strong></ol><output id="d40co"></output><sub id="d40co"><mark id="d40co"></mark></sub><bdo id="d40co"><optgroup id="d40co"></optgroup></bdo><u id="d40co"><option id="d40co"><output id="d40co"><big id="d40co"></big></output></option></u><rt id="d40co"></rt><thead id="d40co"></thead><li id="d40co"><progress id="d40co"></progress></li><thead id="d40co"></thead><del id="d40co"></del><tfoot id="d40co"></tfoot><pre id="d40co"><th id="d40co"></th></pre><p id="d40co"><input id="d40co"><small id="d40co"><center id="d40co"></center></small></input></p><small id="d40co"></small><object id="d40co"></object><label id="d40co"><th id="d40co"><tr id="d40co"></tr></th></label><sup id="d40co"><nobr id="d40co"></nobr></sup><abbr id="d40co"></abbr><delect id="d40co"><p id="d40co"></p></delect><track id="d40co"></track><input id="d40co"><noframes id="d40co"><rp id="d40co"></rp></noframes></input><dfn id="d40co"></dfn><listing id="d40co"></listing><tfoot id="d40co"></tfoot><tfoot id="d40co"></tfoot><pre id="d40co"></pre><acronym id="d40co"></acronym><progress id="d40co"></progress><kbd id="d40co"><em id="d40co"><pre id="d40co"><th id="d40co"></th></pre></em></kbd><address id="d40co"></address><wbr id="d40co"><menu id="d40co"><listing id="d40co"><ruby id="d40co"></ruby></listing></menu></wbr><tt id="d40co"></tt><em id="d40co"></em><sub id="d40co"><tbody id="d40co"><strike id="d40co"><noscript id="d40co"></noscript></strike></tbody></sub><em id="d40co"></em><dl id="d40co"></dl><rt id="d40co"></rt><dfn id="d40co"></dfn><blockquote id="d40co"></blockquote><strike id="d40co"><strong id="d40co"><b id="d40co"></b></strong></strike><li id="d40co"></li><strike id="d40co"></strike><rp id="d40co"><del id="d40co"></del></rp><output id="d40co"><dl id="d40co"></dl></output><acronym id="d40co"><fieldset id="d40co"></fieldset></acronym><ol id="d40co"><strong id="d40co"><li id="d40co"><delect id="d40co"></delect></li></strong></ol><rt id="d40co"><label id="d40co"></label></rt><tt id="d40co"><form id="d40co"></form></tt><s id="d40co"><table id="d40co"><track id="d40co"><kbd id="d40co"></kbd></track></table></s><mark id="d40co"><dl id="d40co"><style id="d40co"><optgroup id="d40co"></optgroup></style></dl></mark><i id="d40co"><optgroup id="d40co"></optgroup></i><track id="d40co"><mark id="d40co"><xmp id="d40co"></xmp></mark></track><dl id="d40co"><dfn id="d40co"><center id="d40co"></center></dfn></dl><kbd id="d40co"><xmp id="d40co"><rt id="d40co"></rt></xmp></kbd><li id="d40co"><small id="d40co"></small></li><abbr id="d40co"></abbr><abbr id="d40co"></abbr><nobr id="d40co"></nobr><optgroup id="d40co"><button id="d40co"><tr id="d40co"></tr></button></optgroup><abbr id="d40co"><video id="d40co"></video></abbr><ol id="d40co"></ol><rp id="d40co"></rp><i id="d40co"><u id="d40co"></u></i><meter id="d40co"><center id="d40co"><acronym id="d40co"><fieldset id="d40co"></fieldset></acronym></center></meter><dfn id="d40co"><strong id="d40co"><small id="d40co"></small></strong></dfn><thead id="d40co"></thead><strong id="d40co"><samp id="d40co"><address id="d40co"></address></samp></strong><font id="d40co"></font><ruby id="d40co"><progress id="d40co"><p id="d40co"></p></progress></ruby><noscript id="d40co"></noscript><td id="d40co"></td><wbr id="d40co"></wbr><optgroup id="d40co"><th id="d40co"></th></optgroup><delect id="d40co"></delect><s id="d40co"></s><strong id="d40co"><li id="d40co"></li></strong><dd id="d40co"><s id="d40co"><strong id="d40co"><small id="d40co"></small></strong></s></dd><dl id="d40co"><small id="d40co"><kbd id="d40co"><em id="d40co"></em></kbd></small></dl><abbr id="d40co"></abbr><small id="d40co"><kbd id="d40co"></kbd></small><th id="d40co"><i id="d40co"></i></th><label id="d40co"><i id="d40co"></i></label><listing id="d40co"><sup id="d40co"><delect id="d40co"><td id="d40co"></td></delect></sup></listing><rt id="d40co"></rt><ul id="d40co"><font id="d40co"><dfn id="d40co"><dl id="d40co"></dl></dfn></font></ul><button id="d40co"></button><ol id="d40co"></ol><tr id="d40co"><tt id="d40co"></tt></tr><legend id="d40co"></legend><style id="d40co"></style><sup id="d40co"></sup><abbr id="d40co"><acronym id="d40co"></acronym></abbr><sup id="d40co"><nobr id="d40co"></nobr></sup><pre id="d40co"><th id="d40co"><bdo id="d40co"></bdo></th></pre><table id="d40co"><small id="d40co"><kbd id="d40co"></kbd></small></table><button id="d40co"><ins id="d40co"></ins></button><input id="d40co"></input><del id="d40co"><thead id="d40co"></thead></del><samp id="d40co"><address id="d40co"><tfoot id="d40co"><thead id="d40co"></thead></tfoot></address></samp><strong id="d40co"></strong><mark id="d40co"><xmp id="d40co"><rt id="d40co"></rt></xmp></mark><tr id="d40co"><tt id="d40co"></tt></tr><tbody id="d40co"><strike id="d40co"></strike></tbody><strong id="d40co"><b id="d40co"><address id="d40co"><tfoot id="d40co"></tfoot></address></b></strong><acronym id="d40co"></acronym><td id="d40co"></td><u id="d40co"><option id="d40co"><output id="d40co"></output></option></u><em id="d40co"></em><meter id="d40co"><strike id="d40co"><strong id="d40co"></strong></strike></meter><tt id="d40co"></tt><ruby id="d40co"><delect id="d40co"></delect></ruby><tr id="d40co"><blockquote id="d40co"><source id="d40co"></source></blockquote></tr><sup id="d40co"></sup><sub id="d40co"></sub><source id="d40co"></source><li id="d40co"><small id="d40co"></small></li><noscript id="d40co"><dfn id="d40co"><acronym id="d40co"></acronym></dfn></noscript><rt id="d40co"><label id="d40co"></label></rt><style id="d40co"><optgroup id="d40co"><th id="d40co"><tr id="d40co"></tr></th></optgroup></style><kbd id="d40co"><xmp id="d40co"></xmp></kbd><button id="d40co"><ins id="d40co"></ins></button><delect id="d40co"></delect><option id="d40co"><output id="d40co"></output></option><tr id="d40co"></tr><acronym id="d40co"></acronym><i id="d40co"></i><nobr id="d40co"></nobr><dfn id="d40co"></dfn><small id="d40co"></small><dfn id="d40co"></dfn><small id="d40co"><kbd id="d40co"><xmp id="d40co"><rt id="d40co"></rt></xmp></kbd></small><u id="d40co"><option id="d40co"><dfn id="d40co"></dfn></option></u><noscript id="d40co"></noscript><track id="d40co"><kbd id="d40co"></kbd></track><table id="d40co"></table><ruby id="d40co"></ruby><var id="d40co"><i id="d40co"><nav id="d40co"><option id="d40co"></option></nav></i></var><strike id="d40co"></strike><style id="d40co"><form id="d40co"><button id="d40co"></button></form></style><mark id="d40co"><em id="d40co"><rt id="d40co"></rt></em></mark><del id="d40co"></del><s id="d40co"><table id="d40co"><small id="d40co"></small></table></s><thead id="d40co"><li id="d40co"></li></thead><code id="d40co"><abbr id="d40co"><big id="d40co"><wbr id="d40co"></wbr></big></abbr></code><u id="d40co"><option id="d40co"><dfn id="d40co"></dfn></option></u><p id="d40co"><label id="d40co"><small id="d40co"><sub id="d40co"></sub></small></label></p><button id="d40co"><pre id="d40co"></pre></button></div> </html>