3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family
3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family

3D Knit Animal Socks, Warm and Cozy with Adorable 3D Designs, 2025 New Cozy Winter Outfits for Your Family

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '4ecccd82-9237-48d1-8c77-24ed7d012ae9'; this.isRTL = SPZ.win.document.dir === 'rtl'; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '3a8c8d83-e9af-48d6-b2a5-6037d256f283'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '3a8c8d83-e9af-48d6-b2a5-6037d256f283' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);

Price

$42.00 $20.98

color - White Dog

Please select a color

Quantity

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
SKU:B0FX4LCP76

Product details:

Fabric type:Knit

Care instructions:Machine Wash Cold, Tumble Dry Low

Origin:Imported

Fit type:Regular

About this item

  • DESIGN FEATURES: Adorable 3D animal-themed knit socks with detailed raised patterns that bring charming creatures to life on your feet
  • COMFORT: Soft knit material provides superior warmth and coziness during cold winter months while maintaining breathability
  • COLLECTION VARIETY: Part of the new 2025 collection featuring multiple animal designs to mix and match for the whole family
  • STYLING OPTIONS: Perfect for creating coordinated winter outfits, these socks add a playful touch to casual and loungewear
  • SIZE RANGE: Available in various designs to fit all family members, from children to adults, making them ideal for family coordination