Free shipping on orders over $34
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
1 / 9
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories
0% OFF

Square Metal Pearl Earrings European American Style Personalized Fashion Stud Earrings Ladies Girls Travel Wedding Accessories

$11.18
0 sold
Metal Color
Ships From
Qty 9795 in stock
Model Number : A6778
Style : Hiphop/Rock
Gender : Women
Material : Metal
Shape\pattern : Geometric
Metals Type : Zinc alloy
Brand Name : YANGLIUJIA

CN : Shandong
Item Type : Earrings
Earring Type : Stud Earrings
Fine or Fashion : Fashion
brand : YANGLIUJIA
style : Fashion and elegant
Used for : Party. Gifts. Birthday.wedding
Applicable people : woman .girl .students
Material : Agate Stone

















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