Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
1/5
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
Emotional skull casual home plus velvet street hoodie
1/5

Emotional skull casual home plus velvet street hoodie

$42.91
$63.53
ColorBlack
Please select a color
Size
Please select a size
Quantity
Barcode:
  • Neckline : Hooded
  • Season : Autumn , Summer , Spring , Winter
  • Occasion : Vacation , Public , Home , Street , Outdoors , Festival
  • Style : Vintage , Lounge , Street , Casual , Preppy
  • Sleeve Length : Long Sleeve
  • Sleeve Type : Regular Sleeve
  • Color : Black
  • Material : Cotton

Size Chart

cm
SizeSMLXL2XL3XL4XL5XLXXXXXL
Shoulder545658606264666870
Bust108112116120124128132136140
Length666870727476788082
Sleeve Length606162636465666768
inch
Size inchSMLXL2XL3XL4XL5XLXXXXXL
Shoulder21.322.022.823.624.425.226.026.827.6
Bust42.544.145.747.248.850.452.053.555.1
Length26.026.827.628.329.129.930.731.532.3
Sleeve Length23.624.024.424.825.225.626.026.426.8
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "16f0b113-eaa7-41cb-848a-36065e1622c9"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '0a1e8917-4cb2-4aa2-97fc-67d4b10bd88a' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "0a1e8917-4cb2-4aa2-97fc-67d4b10bd88a", product_type: "", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);