Free shipping on orders over $34
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
1 / 11
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift
0% OFF

Fashion Pink Love Heart Zircon Earrings Women Asymmetric Sweet Temperament Ear Clips Without Piercing Wedding Party Jewelry Gift

$12.19
0 sold
Metal Color
Qty 8950 in stock
Back Finding : Push-back
Style : TRENDY
Gender : Women
Material : Metal
Shape\pattern : Heart
Metals Type : Zinc alloy


Item Type : Earrings
Earring Type : Stud Earrings
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);