Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
1/2
Personalized casual street style skull print sweatshirt
Personalized casual street style skull print sweatshirt
1/2

Personalized casual street style skull print sweatshirt

$31.99
$41.00
ColorBlack
Please select a color
Size
Please select a size
Quantity
Barcode:
  • Occasion : Outdoors , Street
  • Style : Sporty , Preppy , Casual , Street
  • Season : Spring , Autumn , Summer , Winter
  • Color : Black

Size Chart

cm
SizeSMLXL2XL3XL4XL
Shoulder45464850525456
Bust48505255586062
Length62646669727475
Sleeve Length56.55758.56262.56365.5
inch
Size inchSMLXL2XL3XL4XL
Shoulder17.718.118.919.720.521.322.0
Bust18.919.720.521.722.823.624.4
Length24.425.226.027.228.329.129.5
Sleeve Length22.222.423.024.424.624.825.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 = "233032ec-5495-474e-afe3-18c715f7cec9"; // 促销活动数据 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 == '643bcf06-a378-4c24-ae1d-37d75d1f064c' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "643bcf06-a378-4c24-ae1d-37d75d1f064c", 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);