🔥🎁Round Neck Ruffled Hem Mid-sleeve Cotton and Linen Top

$29.99
Color🏳️‍🌈49% Off🔥:  Blue
Size:  S(UK 8-10)
people are viewing this right now
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Quantity

Description

IMPORTANT STATEMENT:

  • At present, there are many low-priced imitation products on the market, please look for the official store to buy: (We will not be responsible for refunds after purchases from other stores)

100% CUSTOMER SATISFACTION GUARANTEED: If you think the size is not suitable for you, or the quality is not good enough, please contact us within 15 days after receipt, we will give you the best help!Please don't worry!

SIZE CHART

Unsure about sizing? Check our comprehensive size guide to find your perfect fit. We've got you covered!

🌸Spring Vibes in One Top!

🌼 Get your round-neck, ruffled-hem, mid-sleeve cotton-linen top now for a comfy yet stylish look! 🌿

👗 Timeless Design

The round neck design provides a classic look that never goes out of style. Whether you're dressing up for a special occasion or going for a casual day out, this top is versatile enough to match any outfit effortlessly.

💃 Flattering Fit

Mid-sleeves add a chic touch that flatters any arm length, making it suitable for all seasons. Pair it with jeans, skirts, or shorts – the possibilities are endless!

🌺 Elegant Ruffled Hem

The ruffled hem detail adds a playful yet sophisticated flair, transforming a simple top into a fashion statement. It's the little details that matter, and this one will surely make heads turn wherever you go. 😉

🧼 Easy Care

Worried about maintenance? Don’t be! This top is machine washable and retains its shape and color even after multiple washes. Spend less time worrying about laundry and more time looking fabulous!

Specification

  • Style: casual
  • Color: Blue, Green, Apricot
  • Season: spring
  • Neckline: Round Neck
  • Sleeve Length: Mid Sleeve
  • Material: cotton and linen
  • Size: S/M/L/XL/2XL

Why Our Customers Love It:

  • "Absolutely love this top! The fabric is so soft and breathable. Perfect for summer days!" – Emily R.
  • "The ruffles add such a cute touch! I've received so many compliments already." – Sarah K.
  • "Fits perfectly and looks great with anything. My new favorite piece!" – Jessica B.
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'fbb20204-429f-469c-9f63-434d99292452'; 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 = '797f1e17-577f-45ac-a223-29327c966d88'; 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 == '797f1e17-577f-45ac-a223-29327c966d88' && 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);