Vintage Swan Print Halter Neck Maxi Dress
Vintage Swan Print Halter Neck Maxi Dress
${function() {
const variantData = data.variant || {"id":"e5a05128-0f7c-4688-81b4-3ff18581c296","product_id":"5bbf577c-5c0b-4e8c-b290-5d1a25368694","title":"as show-XS(US 4)","weight_unit":"kg","inventory_quantity":100000,"sku":"DJHH26040141-as show-XS(US 4)-A0015968","barcode":"","position":1,"option1":"as show","option2":"XS(US 4)","option3":"","note":"","image":{"src":"\/\/imgpro.staticdj.com\/1a6ce215822f320fecb0bfd462753d03.jpg","path":"1a6ce215822f320fecb0bfd462753d03.jpg","width":720,"height":1280,"alt":"","aspect_ratio":0.5625},"wholesale_price":[{"price":22.99,"min_quantity":1}],"weight":"0.65","compare_at_price":"52.99","price":"22.99","retail_price":"52.99","available":true,"url":"\/products\/vintage-swan-print-halter-neck-maxi-dress?variant=e5a05128-0f7c-4688-81b4-3ff18581c296","available_quantity":999999999,"options":[{"name":"Color","value":"as show"},{"name":"Size","value":"XS(US 4)"}],"off_ratio":"57","flashsale_info":{"variant_id":"e5a05128-0f7c-4688-81b4-3ff18581c296","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"22.99","compare_at_price":"","discount_price":"22.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"57","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false}};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
people are viewing this right now
${function(){
return `
Please select a Color
`;
}()}
Please select a Size
${function(){
return `
Please select a Size
`;
}()}
Product was out of stock.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
| SPU: |
DJHH26040141 |
| Neckline: |
Halter Neck |
| Elasticity: |
Non Stretch |
| Material: |
Blended |
| Style: |
Casual |
| Size: |
XS/S/M/L/XL/2XL/3XL |
| Size |
Length |
Bust |
| CM |
inch |
CM |
inch |
| XS |
140 |
56.0 |
88 |
35.2 |
| S |
141 |
55.5 |
92 |
36.2 |
| M |
142 |
55.9 |
96 |
37.8 |
| L |
143 |
56.3 |
100 |
39.4 |
| XL |
144 |
56.7 |
104 |
40.9 |
| 2XL |
145 |
57.1 |
108 |
42.5 |
| 3XL |
146 |
57.5 |
112 |
44.1 |
*This data was obtained from manually measuring the product, it may be off by 1-2 CM.
Material: High-quality lightweight woven fabric (likely rayon/cotton blend) that is soft, breathable, and comfortable against the skin. The fabric has a slight drape for a flowy fit.
Design: Classic halter neckline with gathered detailing at the neck for a perfect fit. Features a charming vintage print with swans, palm trees, clocks, and decorative motifs. Tiered skirt design adds volume and movement, with side pockets for practicality.
Fit: Loose, flowy fit with a natural waistline. The tiered construction allows for easy movement and a comfortable, non-restrictive wear suitable for various body types.
Occasion: Perfect for summer vacations, beach days, casual outings, garden parties, brunch dates, and bohemian-style events.
Care Instructions: Machine wash cold on a gentle cycle or hand wash, line dry in shade, do not bleach, low iron if necessary.
Available Sizes: XS, S, M, L, XL, 2XL, 3XL (consistent with the size range you provided)
${function(){
const variantData = data.variant || null;
return `
` }()}
/** @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);
${data.module_title}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${item.content.replaceAll("{store_name}","myestyle")}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.