Free shipping on orders over $34
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
7 / 10
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace
0% OFF

Fashion Versatile Small and High End Earring Jewelry Set INS Style Fashion Hanging Tag Glass Colorful Bead Necklace

$20.94
0 sold
Metal color
Qty 2365 in stock
Model Number : P1429-F773
Shape\pattern : Face
Occasion : Party
Material : Metal
Gender : Women
Style : Vintage
Jewelry Sets Type : Necklace/Earrings/Bracelet
Metals Type : Stainless Steel

Fine or Fashion : Fashion
Item Type : Jewelry Sets
Feature 1 : INS Style Fashion Necklace
Feature 2 : Stainless Steel Jewelry Sets
Feature 3 : Colorful Bead Necklace




















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