Free shipping on orders over $34
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
7 / 10
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry
0% OFF

Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry

$21.17
0 sold
Metal color
Qty 993 in stock
Model Number : P470-E344
Shape\pattern : Round
Included Additional Item Description : Bracelet Necklace
Occasion : Party
Material : Metal
Gender : Women
Style : Punk
Jewelry Sets Type : Necklace/Bracelet
Metals Type : Stainless Steel

Fine or Fashion : Fashion
Item Type : Jewelry Sets
Product : Titanium Steel Jewelry Set
Type : Necklaces Bracelet For Women
Feature : Vintage Elegant Accessories
Feature2 : Waterproof Jewelry

Pearl Chain Jewelry Set Titanium Steel Gold Plated Necklace Bracelet For Women Vintage Elegant Accessories Waterproof Jewelry





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