Womens Strapless Front Closure Bra Push Up Padded Add Cup Non Slip Wireless Supportive Seamless Comfortable Tube Jelly Bra A B C Cup#SummerVibe

$18.99
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '0b5e7d2e-bb17-4a40-87f3-6ebd66aeac32'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } 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 = 'beea07f0-e84c-4583-b2e1-1655fd7ca44c'; 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 == 'beea07f0-e84c-4583-b2e1-1655fd7ca44c' && 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(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = 'beea07f0-e84c-4583-b2e1-1655fd7ca44c'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } 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);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() { // 同一页可能有多个 block 各自渲染本 snippet,导致逻辑元素 spz-custom-discount-toast(#appsAddCartToastFunc) 重复。 // 仅保留 DOM 中第一个实例,其余重复实例移除自身,保证逻辑元素及其 action 引用(appsAddCartToastFunc)唯一。 const funcs = document.querySelectorAll('#appsAddCartToastFunc'); if (funcs.length > 1 && this.element !== funcs[0]) { this.element.remove(); return; } // 全局折扣 toast 的弹出点分散在多个模板/组件里(含声明式 @atcError),无法逐一在弹出前前置, // 故挂载时幂等地去重并挂到 body;加购 toast 改为弹出前按需去重(见 showAddToCartToast) this.ensureSingleToastInBody_('cart_match_discount_toast_wrap'); } unmountCallback() {} // 同一页面可能有多个 block 各自渲染本 toast snippet(如商详的 discount_automatic + 购物车抽屉里的折扣横幅), // 导致 toast 外层出现重复 id。重复 id 下 getElementById/querySelector 及 SPZ 动作引用都只命中第一个, // 且被关进抽屉的那份会被抽屉的 transform/overflow 裁剪/错位。这里在挂载时幂等去重: // 只保留一份、移除多余的,并把保留的挂到 body(body 是 position:fixed 最安全的落点,避免被任何祖先裁剪)。可反复调用。 ensureSingleToastInBody_(id) { const els = Array.from(document.querySelectorAll('#' + id)); if (!els.length) return; els.slice(1).forEach((el) => el.remove()); const keep = els[0]; if (keep.parentNode !== document.body) { document.body.appendChild(keep); } } // 主题购物车抽屉是否打开 isInCartDrawer_() { return !!document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setupAction_() { this.registerAction('showAddToCartToast', () => { // 抽屉内加购:主题本就不会有加购效果,统一弹插件自己的 toast // 非抽屉:主题有加购代理则沿用主题加购效果,否则插件兜底 const proxyEl = document.getElementById('add-cart-event-proxy'); const inDrawer = this.isInCartDrawer_(); if (!inDrawer && proxyEl) { return; } // 弹出前按需去重并挂到 body(幂等),避免重复 id 命中错对象或被抽屉裁剪/错位 this.ensureSingleToastInBody_('apps_add_cart_toast_wrap'); const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Color::  Black
Size::  S
Quantity

Description

💕 Women’s Strapless Front Closure Bra

Wireless Support · Push-Up Padded Cups · Non-Slip Fit · Multi-Way Wear For A/B/C Cups

Feel confident in strapless, off-shoulder, halter, and deep-V outfits with this comfortable front closure bra. Designed with padded support, a smooth seamless edge, detachable straps, and a secure non-slip structure, it helps create a lifted, natural shape while staying comfortable under your favorite clothes.

👗 Tired Of Strapless Bras That Slip Or Show?

Strapless outfits can look beautiful, but the wrong bra can slide down, feel uncomfortable, or show through tight tops and dresses.

This strapless front closure bra is designed to offer a smoother look, supportive fit, and more flexible styling options for daily wear, parties, vacations, weddings, and summer outfits.

✨ Key Features ✨

✅ Strapless design for off-shoulder and tube tops

✅ Dual front-buckle closure for easy adjustment

✅ Padded push-up cups for a lifted shape

✅ Wireless support for comfortable daily wear

✅ Smooth seamless edge for a no-show look

✅ Detachable straps for strapless, classic, or halter styling

✨ Easy Front Closure Design

The front-buckle closure makes this bra easy to wear and adjust. The multi-level front closure helps you customize the fit and create a more natural or enhanced shape depending on your outfit.

💗 Padded Cups For A Lifted Shape

The soft padded cups help create a smooth, rounded, and lifted look while staying lightweight and breathable. Ideal for wearing under dresses, camisoles, formal outfits, and fitted tops.

🤍 Wireless Comfort With Support

The wireless structure helps reduce pressure while still offering everyday support. Side support panels and a secure under-band help the bra stay in place during normal movement.

🌸 Smooth Seamless Edge

The one-piece smooth edge design helps create a cleaner look under tight clothing. It is designed to stay discreet under fitted tops, bodycon dresses, tube tops, and plunge necklines.

👚 Multi-Way Wear With Detachable Straps

Detachable straps allow you to switch between multiple styling options. Wear it strapless, with classic straps, or as a halter bra depending on your outfit.

⭐ Why You’ll Love It

✅ Helps stay hidden under strapless and low-cut outfits

✅ Front closure makes it easier to wear and adjust

✅ Padded cups help create a flattering shape

✅ Wireless design feels more comfortable for daily use

✅ Smooth edges help reduce visible bra lines

✅ Detachable straps give you more outfit options

👗 Perfect For Many Outfits

Whether you are dressing for a summer day, special event, date night, vacation, or everyday styling, this bra helps you wear more outfits with confidence.

👗 Strapless dresses

🌸 Off-shoulder tops

💃 Party and evening outfits

👚 Tube tops and camisoles

🌴 Vacation and summer wear

🤍 Fitted tops and seamless looks

🧵 Fabric Details

Cup Fabric / Cup Lining: 82% Nylon, 18% Spandex

Side Fabric: 63% Nylon, 37% Spandex

Side Lining: 51% Nylon, 49% Spandex

Style: Strapless / Front Closure / Wireless / Padded / Detachable Straps

Suggested Cup Range: A / B / C Cup

✨ How To Wear

1️⃣ Choose Your Style

Wear it strapless, with classic straps, or as a halter style depending on your outfit.

2️⃣ Fasten The Front Buckle

Use the front closure to secure the bra comfortably.

3️⃣ Adjust The Fit

Adjust the under-band and closure position until it feels secure and comfortable.

4️⃣ Smooth Under Clothing

Check the edges and neckline for a clean, no-show look under your outfit.

⚠️ Notes

✅ Please check the size chart carefully before ordering.

✅ For best comfort, do not choose a size that feels overly tight.

✅ Hand wash recommended to help maintain shape and elasticity.

✅ Air dry naturally. Do not bleach or tumble dry.

✅ Color may vary slightly due to lighting and screen differences.

💕 Wear Your Favorite Outfits With Confidence

Supportive, smooth, strapless, and versatile — the bra designed for dresses, tube tops, plunge necklines, and summer looks.

👇 Add to cart today and enjoy a secure, comfortable fit!

Why Shop With Us

📦 Worldwide Shipping: Tracking information will be provided once your order ships.

💰 After-Sales Support: If your item arrives damaged or defective, please contact us for assistance.

✉️ Customer Support: Our support team will help answer your order questions.

🔒 Secure Checkout: Your personal and payment information is protected during checkout.

⭐ Thank You For Shopping With Us ⭐

Click “Add to Cart” or “Buy Now” to get yours today!