Free shipping on orders over $34
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
7 / 9
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories
0% OFF

Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories

$21.31
0 sold
Metal color
Qty 2132 in stock
Model Number : F1046-P386
Shape\pattern : Round
Included Additional Item Description : Necklace Earring
Occasion : Party
Material : Stone
Gender : Women
Style : Vintage
Jewelry Sets Type : Necklace/Earrings
Metals Type : Stainless Steel
Brand Name : Marka

Fine or Fashion : Fashion
Item Type : Jewelry Sets
Feature : Free Shipping
Feature 1 : Luxury Elegant Women'S Sets
Feature 2 : High Quality Fine Jewelry
Feature 3 : Blue Stone Vintage Earrings


8726

 
Snake Bone Chain 316l Stainless Steel Pendant Necklace Women's Luxury Blue Stone Vintage Earrings Jewelry Set Bridal Accessories






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