Free shipping on orders over $34
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
7 / 13
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower
0% OFF

New White Wrist Corsage Bridesmaid Rose Wrist Flowers for Bridesmaid Bracelet Wedding Accessories Bridal Hand Flower

$9.82
0 sold
Color
Qty 1999 in stock
Model Number : Bridesmaid Bracele
Material : Silk


Item Type : Wrist Corsage

Product Description:

Product name: Rose wrist flower

Style: Elegant, Romantic

Material: silk cloth

Size: 11 * 12cm, flower diameter 6cm (approximately)

Color: 7 colors for you to choose from.

Packaging: 1 * wrist flower

Note:

Due to various factors such as the brightness of the monitor and lighting, the true color of the item may differ slightly from the images displayed on the website.

Please allow slight deviations in the manually measured data.






const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);