Free shipping on orders over $34
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
7 / 10
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set
0% OFF

Korean Elegant Pink Zircon Bowknot Bracelet for Women Trend Charm Sparkling Elegant Pearl Chain Bracelets Necklace Jewelry Set

$12.05
0 sold
Metal Color
Qty 8956 in stock
Compatibility : All Compatible
Function : Mood Tracker
Chain Type : Link Chain
Shape\pattern : Bowknot
Setting Type : Prong Setting
Material : Metal
Style : Classic
Clasp Type : Box-with-tongue
Gender : Women
Metals Type : Zinc alloy
Bracelets Type : Chain & Link Bracelets


Item Type : Bracelets
Fine or Fashion : Fashion

 



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);