Free shipping on orders over $34
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
7 / 11
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift
0% OFF

2023 New Trend Shell Moon Link Bracelet for Women Korean Fashion Sweet Girls Twisted Chain Y2K Bracelet Party Gift

$9.39
0 sold
Metal Color
Qty 8589 in stock
Compatibility : All Compatible
Function : Mood Tracker
Chain Type : NONE
Shape\pattern : Moon
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);